아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

지식재산권

시간 제한2초메모리 제한256 MB

요약
두 9x9 스도쿠 퍼즐이 숫자 교환, 행과 열 밴드 교환, 대각선 뒤집기로 서로 바뀌는지 모든 쌍에 대해 판정합니다.
난이도

어려움10점 중 8점

유형
백트래킹, 완전 탐색, 행렬
정답자
아직 제출이 없습니다

문제

에라스트 코피는 유명한 스도쿠 퍼즐 제작자다. 그가 낸 퍼즐 모음집이 크게 성공하자 모방작과 표절작이 여럿 나왔다. 코피는 소송을 걸기 전에 증거를 더 모으기로 했다.

스도쿠 퍼즐은 9×99 \times 9 표이고, 칸 3×33 \times 3개로 이루어진 작은 표 3×33 \times 3개로 나뉜다. 각 칸에는 1부터 9까지의 숫자를 하나 넣을 수 있다. 퍼즐의 목표는 각 행, 각 열, 그리고 3×33 \times 3 작은 표 아홉 개마다 1부터 9까지의 숫자가 정확히 한 번씩 들어가도록 빈 칸을 채우는 것이다.

코피는 스도쿠 퍼즐 데이터베이스를 가지고 있고, 그 안에 비슷한 퍼즐이 있는지 알고 싶다. 다음 연산을 여러 번 적용해 퍼즐 PP를 퍼즐 QQ로 바꿀 수 있으면 퍼즐 PP는 퍼즐 QQ와 비슷하다.

  • 숫자 xx와 yy를 골라 모든 xx를 yy로, 모든 yy를 xx로 바꾼다.
  • 행 묶음 (1,2,3)(1, 2, 3), (4,5,6)(4, 5, 6), (7,8,9)(7, 8, 9) 중 두 묶음을 통째로 맞바꾼다.
  • 같은 묶음에 속한 두 행을 맞바꾼다.
  • 열 묶음 (1,2,3)(1, 2, 3), (4,5,6)(4, 5, 6), (7,8,9)(7, 8, 9) 중 두 묶음을 통째로 맞바꾼다.
  • 같은 묶음에 속한 두 열을 맞바꾼다.
  • 왼쪽 위 모서리와 오른쪽 아래 모서리를 잇는 대각선을 축으로 뒤집는다. 이 연산을 하면 열이 행이 되고 행이 열이 된다.

데이터베이스에서 비슷한 퍼즐을 찾아 코피를 도와주자.

입력

첫 줄에 데이터베이스에 든 퍼즐의 개수 nn이 주어진다. (1≤n≤201 \le n \le 20)

이어서 퍼즐 P1,P2,…,PnP_1, P_2, \dots, P_n의 정보가 주어진다. 퍼즐 하나는 아홉 줄로 이루어지고 각 줄은 문자 아홉 개다. 각 문자는 1부터 9까지의 숫자이거나, 빈 칸을 뜻하는 점 .이다. 연속한 두 퍼즐 사이에는 빈 줄이 하나 들어간다.

입력에 공백은 없다. 퍼즐을 풀 수 있다는 보장은 없으므로 한 행이나 한 열에 같은 숫자가 여러 번 나올 수도 있다.

출력

1≤i<j≤n1 \le i < j \le n인 모든 쌍 (i,j)(i, j)에 대해, 퍼즐 PiP_i가 퍼즐 PjP_j와 비슷하면 Yes를, 비슷하지 않으면 No를 한 줄에 하나씩 출력한다.

쌍의 순서는 (1,2),(1,3),…,(1,n),(2,3),(2,4),…,(n−1,n)(1, 2), (1, 3), \dots, (1, n), (2, 3), (2, 4), \dots, (n - 1, n)이다. 즉 먼저 P1P_1을 P2,P3,…,PnP_2, P_3, \dots, P_n과 차례로 비교하고, 다음으로 P2P_2를 P3,P4,…,PnP_3, P_4, \dots, P_n과 차례로 비교하는 식으로 진행한다.

예제1

  1. 예제 1

    입력
    4
    .....1...
    1........
    .2.....8.
    .........
    8....9...
    .........
    ....7....
    ...2...1.
    2...4....
    
    ....2....
    ...7.4...
    8.......9
    .8...2..1
    ..2......
    .........
    .........
    ..1.8....
    .........
    
    1........
    .........
    .........
    .........
    .........
    .........
    .........
    .........
    .........
    
    .....1...
    1........
    .2.....8.
    .........
    8....9...
    .........
    ....7....
    ...2...1.
    2...4....
    
    예상 출력
    Yes
    No
    Yes
    No
    Yes
    No