Python/구현 BOJ-14891 톱니바퀴

[Python/구현] BOJ-14891 톱니바퀴

📌문제링크

극이 같으면 회전하지 않는다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
board = [list(map(int,input().rstrip())) for _ in range(4)]
K= int(input())

for _ in range(K) :
    idx, rot = map(int, input().split())
    idx -=1
    move = [(idx,rot)]
    # 왼쪽 체크
    temp = rot
    for i in range(idx-1,-1,-1):
        if board[i][2] != board[i+1][6]: 
            temp *=-1
            move.append((i,temp))
        else : break
    #오른쪽 체크
    temp = rot
    for i in range(idx+1,4):
        if board[i-1][2] != board[i][6]: 
            temp *=-1
            move.append((i,temp))
        else : break
    
    for idx,rot in move:
        if rot == 1 : #시계방향
            board[idx] = [board[idx][7]] + board[idx][:7]
        else : #반시계방향
            board[idx] =  board[idx][1:8] + [board[idx][0]]

result =0 
for i in range(4) :
    if board[i][0] == 1:
        result += 2**i
print(result)