S2, 구현
풀이
deque()
의 rotate()
를 통해 해결할 수 있다.
rev_std
를 만드는 과정에서 [::-1]
을 해주지 않아 헤맸다.
from sys import stdin
from collections import deque
n = int(stdin.readline())
standard = list(map(int, stdin.readline().split()))
rev_std = []
for num in standard:
if num == 1:
rev_std.append(3)
elif num == 2:
rev_std.append(4)
elif num == 3:
rev_std.append(1)
else:
rev_std.append(2)
m = int(stdin.readline())
arr = []
for _ in range(m):
arr.append(list(map(int, stdin.readline().split())))
res = 0
ans = []
for i in range(m):
q = deque(standard)
rev_q = deque(rev_std[::-1])
k = n
while k > 0:
if deque(arr[i]) == q or deque(arr[i]) == rev_q:
res += 1
ans.append(arr[i])
break
else:
q.rotate(1)
rev_q.rotate(1)
k -= 1
print(res)
for arr in ans:
print(*arr)