Tiny Bunny
본문 바로가기
Algorithm/Python

[SWEA #20396] 돌 뒤집기 게임 1

by nowag 2024. 2. 29.

문제

동전처럼 생긴 돌의 양면은 각각 흰색과 검은색으로 되어있고, 게임의 규칙은 다음과 같다.

  • 뒤집기는 i번째부터 j개의 돌을 i번째 돌의 색으로 바꿔놓는다.
  • 뒤집기는 가능한 돌에 대해서만 진행한다.

예시)
초기상태


i=5, j=3인 경우 뒤집기 결과


초기상태에서 i=9, j=3인 경우 뒤집기 결과, 11번째는 없으므로 두개만 뒤집기가 이뤄진다.


입력
첫 줄에 게임의 개수 T, 다음 줄부터 게임별로 첫 줄에 N, M, 다음 줄에 N개 돌의 초기상태, 이후 M개의 줄에 걸쳐 i, j가 주어진다.
(1<=T<=50, 3<=N<=20,   1<=M<=10, 1<=i, j<=N)

출력
#과 게임번호, 빈칸에 이어 빈칸으로 구분된 돌의 상태를 출력한다.

 

내가 쓴 코드

T = int(input())
for t in range(T):

    # N : 돌 개수, M : 진행 수
    N, M = map(int, input().split())
    stone = list(map(int, input().split()))
    for _ in range(M):
        i, j = map(int, input().split())
        i -= 1
        j -= 1

        for n in range(i, min(N, i + j + 1)):
            stone[n] = stone[i]
    print(f'#{t+1}', end=' ')
    print(*stone)

easy~

 

출력 결과

#1 0 1 1 1 0
#2 0 1 1 1 0
#3 0 1 1 1 1 1 1 1 1 1

728x90
반응형

'Algorithm > Python' 카테고리의 다른 글

[BOJ #11650] 좌표 정렬하기  (1) 2024.02.29
[SWEA #20397] 돌 뒤집기 2  (0) 2024.02.29
[SWEA #11010] 배열2 - 대각 최대값  (1) 2024.02.29
[SWEA #11013] 배열1 - 3분할  (2) 2024.02.29
[SWEA #11315] 오목 판정  (3) 2024.02.29