Coding Test
[백준] 카드 섞기
상상쓰
2022. 3. 5. 23:36
https://www.acmicpc.net/problem/1091
1091번: 카드 섞기
지민이는 카지노의 딜러이고, 지금 3명의 플레이어(0, 1, 2)가 있다. 이 게임은 N개의 카드를 이용한다. (0 ~ N-1번) 일단 지민이는 카드를 몇 번 섞은 다음에, 그것을 플레이어들에게 나누어 준다. 0
www.acmicpc.net
문제만 이해하면 어렵지 않게 풀 수 있다.
좋은 풀이는 아닌지만 하라는 대로 하면 풀린다.
import sys
N = int(sys.stdin.readline())
P = list(map(int, sys.stdin.readline().split()))
S = list(map(int, sys.stdin.readline().split()))
result = []
mix = [i for i in range(N)]
answer = 0
for i in range(N):
result.append(P[i])
while True:
t = False
for i in range(N):
if mix[i] % 3 != result[i]:
answer += 1
temp = []
for j in range(N):
if S[mix[j]] != j:
t = True
temp.append(S[mix[j]])
mix = temp
break
else:
break
if not t:
answer = -1
break
print(answer)