문제의 흐름을 따라간다.
set함수가 중복을 허용하지 않는 특징을 이용하여, 탐색 후 만들어진 set함수의 길이를 검사한다.
- 한 행을 검사할 때마다 set함수에 넣고 길이를 비교한다음 9보다 작을 경우,
result = 0
하고 검사를 중단한다.- 1번 과정을 열, 3 * 3 박스를 대상으로 검사한다.
T = int(input())
for tc in range(1, T + 1):
arr = [list(map(int, input().split())) for _ in range(9)]
sdokuSet = set()
result = 1
for i in range(9):
for j in range(9):
sdokuSet.add(arr[i][j])
if len(sdokuSet) < 9:
result = 0
break
sdokuSet.clear()
for j in range(9):
for i in range(9):
sdokuSet.add(arr[i][j])
if len(sdokuSet) < 9:
result = 0
break
sdokuSet.clear()
for i in range(0, 9, 3):
for j in range(i, i+3):
for k in range(3):
sdokuSet.add(arr[j][k])
if len(sdokuSet) < 9:
result = 0
break
sdokuSet.clear()
print(f'#{tc} {result}')