지루함 해소
시간 제한12초메모리 제한1024 MB
각 이동마다 두 카드를 뒤집어 확인한 뒤 다시 섞어 놓는 메모리 게임에서, 모든 카드에 적힌 숫자를 찾는 프로그램을 작성합니다.
문제
당신은 비가 오는 오두막에 혼자 갇혀 있다. 너무 지루해서 쓸 만한 시간 때우기 거리는 메모리 카드 한 벌뿐이다. 혼자 메모리 게임을 하는 것은 그다지 재미있지 않지만, 좋은 기억력과 전략이 모두 필요한 1인용 변형 게임을 고안했다.
게임 방식은 다음과 같다. 장의 카드가 섞인 덱이 있다. 여기서 은 짝수이고, 각 카드에는 부터 까지의 수가 적혀 있다. 같은 수가 적힌 카드는 정확히 두 장씩 있다. 카드는 뒷면이 위로 가게 탁자에 놓이고, 목표는 각 카드에 적힌 수를 찾아내는 것이다. 한 번의 동작에서는 카드 두 장을 집는다. 뒤집기 전에 두 장을 무작위로 섞어서, 어느 카드가 원래 어디에 있었는지 알 수 없게 한다. 그다음 두 카드를 확인한다. 확인이 끝나면 다시 뒷면이 위로 가게 섞은 뒤 원래 자리에 놓는다. 이렇게 하면 두 카드의 수와 그 위치는 알게 되지만, 어느 카드가 어디에 있었는지, 애초에 어떤 카드가 어느 자리에서 왔는지는 알 수 없다.
이 게임을 이기는 프로그램을 작성하는 것이 과제이다.