Skip to content

Instantly share code, notes, and snippets.

@cieske
Created September 26, 2022 19:06
SWEA 모의 SW 역량테스트
from collections import deque
def dfs(num, dir):
move_check[num] = True
if num < 3: # 오른쪽, 다른 자성이고 아직 움직여보지 않았다면
if magnet[num][2] != magnet[num+1][6] and not move_check[num+1]:
dfs(num+1, dir*(-1))
if num > 0: # 왼쪽, , 다른 자성이고 아직 움직여보지 않았다면
if magnet[num][6] != magnet[num-1][2] and not move_check[num-1]:
dfs(num-1, dir*(-1))
# 자석 이동
if dir == 1: magnet[num].appendleft(magnet[num].pop())
else: magnet[num].append(magnet[num].popleft())
t = int(input())
for t_idx in range(1, t+1):
# 오른쪽: mag[i][2]
# 왼쪽: mag[i][6]
# 점수: mag[i][0]
k = int(input())
magnet = [deque(list(map(int, input().split()))) for _ in range(4)]
for _ in range(k):
move_check = [False]*4
n, d = map(int, input().split())
dfs(n-1, d) #n-1번째 자석을 d방향으로 이동
sol = 0
for i in range(4):
sol += magnet[i][0]*(2**(i))
print("#{} {}".format(t_idx, sol))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment