스도쿠 정답 검증

완성된 N제곱 격자의 모든 행과 열, N×N 블록이 1부터 N제곱까지 숫자를 정확히 한 번씩 담았는지 판정합니다.

쉬움3행렬해시맵구현면접 대비아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

스도쿠는 혼자서 푸는 숫자 퍼즐이다. 9x9 격자에 숫자를 채우되, 각 행과 각 열, 그리고 서로 겹치지 않는 3x3 부분 격자 9개가 1부터 9까지를 한 번씩 담아야 한다. 격자는 처음에 일부만 채워져 있고 보통 답이 하나뿐이다.

크기가 N2×N2N^2 \times N^2인 완성된 스도쿠 격자가 주어진다. 이 격자가 올바른 답인지 판정하라. 올바른 답은 다음 세 조건을 모두 만족한다.

  • 각 행은 1부터 N2N^2까지를 한 번씩 담는다.
  • 각 열은 1부터 N2N^2까지를 한 번씩 담는다.
  • N2×N2N^2 \times N^2 격자를 서로 겹치지 않는 N×NN \times N 부분 격자 N2N^2개로 나눈다. 각 부분 격자는 1부터 N2N^2까지를 한 번씩 담는다.

퍼즐의 답이 유일한지는 따지지 않는다. 주어진 격자가 올바른 답인지만 확인하면 된다.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 정수 NN이 있다. 다음 N2N^2개의 줄에 완성된 스도쿠 격자가 주어지며, 각 줄에는 정수가 정확히 N2N^2개씩 있다. 입력의 정수는 모두 양수이고 1000보다 작다.

제한

  • 1T1001 \le T \le 100
  • 3N63 \le N \le 6

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 격자가 올바른 답이면 Yes, 아니면 No이다. 채점은 대소문자를 구분하므로 yesno는 정답으로 인정하지 않는다.