아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

간단한 스도쿠

시간 제한1초메모리 제한1024 MB

요약
스도쿠 격자가 주어지면 단일 값 규칙과 고유 위치 규칙만 반복 적용해 퍼즐이 완전히 풀리는지 판정하고 결과 격자를 출력한다.
난이도

보통10점 중 6점

유형
시뮬레이션, 구현, 행렬, 완전 탐색
정답자
아직 제출이 없습니다

문제

스도쿠 퍼즐은 모양과 난이도가 다양하다. 전통적인 스도쿠 퍼즐은 9×99\times9 격자이다. 처음에 일부 칸에는 숫자가 채워져 있고 일부는 비어 있다. 목표는 각 칸에 11부터 99까지의 숫자를 다음 조건에 맞게 채우는 것이다.

  • 각 행에 11부터 99까지의 숫자가 한 번씩 나타나야 한다.
  • 각 열에 11부터 99까지의 숫자가 한 번씩 나타나야 한다.
  • 각 3×33\times3 부분 격자에 11부터 99까지의 숫자가 한 번씩 나타나야 한다.

스도쿠 퍼즐의 난이도는 크게 달라질 수 있다. 가장 쉬운 퍼즐은 다음 두 가지 간단한 기법으로 풀 수 있다.

  • 단일 값 규칙: 들어갈 수 있는 값이 하나뿐인 칸을 찾는다.
  • 유일한 위치 규칙: 어떤 행, 열, 부분 격자에서 어떤 값이 들어갈 수 있는 위치가 하나뿐인 곳을 찾는다.

그림 1에 나온 부분적으로 풀린 스도쿠 퍼즐을 보자. 단일 값 규칙은 88만 들어갈 수 있는 칸 A77에 적용된다. 유일한 위치 규칙은 3행에서 55가 들어갈 수 있는 유일한 위치이므로 칸 B33에 55를 넣는 데 쓸 수 있다.

그림 1: 예제 입력 1

가장 쉬운 스도쿠 퍼즐은 이 두 규칙만으로 풀 수 있다. 더 어려운 퍼즐은 swordfish, x-wing, BUG 같은 기법을 쓴다.

이 문제에서는 스도쿠 퍼즐이 주어질 때, 단일 값 규칙과 유일한 위치 규칙만으로 풀 수 있는지, 즉 쉬운 퍼즐인지 판별해야 한다.

입력

입력은 아홉 줄에 걸쳐 하나의 스도쿠 퍼즐로 주어진다. 각 줄에는 00부터 99까지의 값 99개가 있으며, 00은 퍼즐의 빈칸을 나타낸다.

출력

쉬운 퍼즐이면 Easy를 출력하고 이어서 완성된 스도쿠 퍼즐을 출력한다. 퍼즐은 아홉 줄에 걸쳐 출력하며 한 줄의 값들은 공백 하나로 구분한다. 쉬운 퍼즐이 아니면 Not easy를 출력하고 이어서 위 두 규칙으로 풀 수 있는 만큼의 스도쿠 퍼즐을 출력한다. 부분 해도 완성된 해와 같은 형식으로 출력하되, 채우지 못한 칸은 숫자 대신 .을 쓴다.

예제2

  1. 예제 1

    입력
    2 6 0 5 1 0 3 0 0
    3 0 0 0 6 0 0 0 2
    0 1 5 0 7 3 9 0 4
    0 0 9 0 0 0 5 0 0
    0 0 2 6 0 1 4 0 0
    0 0 6 0 0 0 7 0 0
    6 0 1 9 4 0 2 3 0
    9 0 0 0 2 0 0 0 5
    0 0 8 0 3 5 0 4 9
    
    예상 출력
    Easy
    2 6 4 5 1 9 3 7 8
    3 9 7 8 6 4 1 5 2
    8 1 5 2 7 3 9 6 4
    1 3 9 4 8 7 5 2 6
    5 7 2 6 9 1 4 8 3
    4 8 6 3 5 2 7 9 1
    6 5 1 9 4 8 2 3 7
    9 4 3 7 2 6 8 1 5
    7 2 8 1 3 5 6 4 9
    
  2. 예제 2

    입력
    0 0 0 0 0 0 7 0 1
    0 0 0 0 0 1 2 3 5
    0 0 1 8 0 0 0 0 6
    0 0 0 0 2 5 0 9 3
    9 0 0 0 0 0 0 0 2
    3 1 0 6 7 0 0 0 0
    2 0 0 0 0 3 8 0 0
    1 3 8 9 0 0 0 0 0
    4 0 6 0 0 0 0 0 0
    
    예상 출력
    Not easy
    . . 3 . . . 7 8 1
    . . . . . 1 2 3 5
    . . 1 8 3 . 9 4 6
    . . . . 2 5 . 9 3
    9 . . 3 . . . 7 2
    3 1 2 6 7 9 4 5 8
    2 . . . . 3 8 . .
    1 3 8 9 . . 5 . .
    4 . 6 . . . 3 . .