SW Expert Academy/level 2

[SW Expert Academy] 1974. 스도쿠 검증

binaryJournalist 2022. 7. 30. 13:27
반응형

출처: https://swexpertacademy.com/

 

checkpoint = [(0,0), (0,3), (0,6), (3,0), (3,3), (3,6), (6,0), (6,3), (6,6)]
standard_number = 45
N = 9
T = int(input())
for test_case in range(1, T + 1):
    answer = 1
    matrix = [list(map(int, input().split())) for _ in range(N)]
    for i in range(N):
        if answer == 0:
            break
        _sum = sum(matrix[i])
        if _sum > standard_number:
            answer = 0
            break
        _sum = 0
        for v in range(N):
            _sum += matrix[v][i]
            if _sum > standard_number:
                answer = 0
                break
        if answer == 0:
            continue
        for j in range(N):
            _sum = 0
            if (i, j) in checkpoint:
                for x in range(3):
                    for y in range(3):
                        _sum += matrix[i + x][j + y]
            if _sum > standard_number:
                answer = 0
                break
    print(f'#{test_case} {answer}')

 

 

반응형