1
7 3 6 4 2 9 5 8 1
5 8 9 1 6 7 3 2 4
2 1 4 5 8 3 6 9 7
8 4 7 9 3 6 1 5 2
1 5 3 8 4 2 9 7 6
9 6 2 7 5 1 8 4 3
4 2 1 3 9 8 7 6 5
3 9 5 6 7 4 2 1 8
6 7 8 2 1 5 4 3 9
#1 1
# 1974. 스도쿠 검증
# 테스트 케이스 T
T = int(input())
# 스도쿠 검증 함수
def sudoku(array):
# 모든 행을 살펴본다.
for k in range(9):
temp = list(set(array[k]))
# 중복되는 요소가 있으면 False 리턴
if len(temp) < 9:
return False
# 90도 회전 스도쿠
array2 = [[0] * 9 for _ in range(9)]
for i in range(9):
for j in range(9):
array2[i][j] = array[j][8-i]
# 모든 열을 살펴본다.
for k in range(9):
temp = list(set(array2[k]))
# 중복되는 요소가 있으면 False 리턴
if len(temp) < 9:
return False
# 3 × 3 정사각형을 살펴본다.
for i in range(0, 7, 3):
for j in range(0, 7, 3):
seq = []
for m in range(i,i+3):
for n in range(j,j+3):
seq.append(array[m][n])
temp = list(set(seq))
if len(temp) < 9:
return False
return True
# 각 테스트 케이스가 주어진다.
for q in range(1, T+1):
# 퍼즐 초기화
puzzle = []
for _ in range(9):
puzzle.append(list(map(int, input().split())))
# 스도쿠 검증
ans = sudoku(puzzle)
if ans:
print("#{} 1".format(q))
else:
print("#{} 0".format(q))