시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
코메디아 델라르테(Commedia dell'arte)는 16세기 초 이탈리아에서 처음 등장한 연극 장르로, 로마 연극에서 영감을 받았다. 이 연극에는 정해진 대본이 없어서 배우(연기자라고도 한다)들은 끊임없이 즉흥 연기를 해야 했다. 작가는 "무대에 올라 뭔가 우스운 것을 하라" 또는 "모두 무대에 올라 모든 일이 즐겁게 마무리된다" 같은 대략적인 지시만 주었다.
한 극단이 완전히 새로운 연극을 무대에 올리려 한다. 주인공은 극에서 중요한 역할을 하며 즉흥 연기의 여지를 크게 넓혀 주는 퍼즐 하나를 가지고 있다. 이 퍼즐은 세계적으로 유명한 15 퍼즐인데, 극을 더 흥미롭게 만들기 위해 극단은 표준 퍼즐을 3차원 퍼즐로 바꾸기로 했다.
3차원 퍼즐은 M3개의 칸으로 이루어진 정육면체다. 한 칸을 제외한 모든 칸에는 정육면체 타일이 하나씩 들어 있고, 정확히 한 자리가 비어 있다. 타일에는 1부터 M3−1까지 번호가 매겨져 있다. 목표는 타일을 무작위로 뒤섞은 뒤 원래 순서로 되돌리는 것이다. 허용되는 유일한 이동은, 빈 칸과 인접한 타일을 세 주축 방향 중 하나를 따라 빈 칸으로 밀어 넣는 것이다.
원래(목표) 배치에서 좌표 (x,y,z) (x,y,z∈{0,…,M−1})의 칸에는 번호 z⋅M2+y⋅M+x+1인 타일이 들어 있고, 칸 (M−1,M−1,M−1)이 비어 있다.
퍼즐을 풀 수 있는지 판정하는 프로그램을 작성하라.
입력은 N개의 테스트 케이스로 이루어진다. 첫 줄에는 양의 정수 N이 하나 주어지고, 이어서 각 케이스가 주어진다.
각 케이스의 첫 줄에는 정육면체의 한 변의 길이를 나타내는 정수 M (1≤M≤100)이 주어진다. 이어지는 M개의 줄에는 각각 한 층(layer)을 나타내는 M2개의 수가 주어진다. 첫 줄은 정육면체의 맨 위 층, 마지막 줄은 맨 아래 층이다. 한 층 안에서 수는 왼쪽 위 구석에서 오른쪽 아래 구석까지 행 단위로 나열된다. 즉, 좌표 (x,y,z)의 칸은 (z+1)번째 줄의 (x+M⋅y+1)번째 수로 표현된다. 수는 공백으로 구분되며, 0은 빈 자리를 뜻한다.
각 케이스마다 정확히 한 줄을 출력한다. 타일을 밀어서 원래 배치에 도달할 수 있으면 Puzzle can be solved.를, 그렇지 않으면 Puzzle is unsolvable.를 출력한다.