• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

스토쿠 검사

23.08.19 13:03 작성 조회수 265

0

이렇게 풀어도 정답 다 통과되던데 반례가 있을까요 ?

import sys 
import string as t 

sys.stdin = open("input.txt", "r")

a = [list(map(int, input().split())) for _ in range(9)]
True_flag = True 
nums = [i for i in range(1, 10)]
for y in range(0, 9, 3):
    for x in range(0, 9, 3):
        res = []
        res.extend(a[y : y + 3][0][x : x + 3])
        res.extend(a[y : y + 3][1][x : x + 3])
        res.extend(a[y : y + 3][2][x : x + 3])
        
        if len(nums) != len(set(res)):
            True_flag = False
            break 
    
if True_flag:
    print("YES")
else:
    print("NO")

답변 1

답변을 작성해보세요.

0

안녕하세요^^

행과 열을 확인하지 않는 코드인것 같네요. 아래와 같은 입력은 NO인데 위 코드는 YES가 나오게 됩니다.

1 2 3 1 2 3 1 2 3
4 5 6 4 5 6 4 5 6
7 8 9 7 8 9 7 8 9
1 2 3 1 2 3 1 2 3
4 5 6 4 5 6 4 5 6
7 8 9 7 8 9 7 8 9
1 2 3 1 2 3 1 2 3
4 5 6 4 5 6 4 5 6
7 8 9 7 8 9 7 8 9