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

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

스도쿠 5

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

요약
크기가 n^2인 부분적으로 채워진 스도쿠 판에서 각 행, 열, n x n 부분 격자에 중복이 없도록 빈칸을 최대한 많이 채운다.
난이도

보통10점 중 7점

유형
백트래킹, 구현, 완전 탐색, 행렬
정답자
아직 제출이 없습니다

문제

자흐하크를 이겨내야 한다는 예언을 지닌 전설적인 페르시아 영웅 페레이둔은 강한 육체와 함께 강한 정신도 필요하다고 믿는다. 그는 일본 상인에게서 스도쿠라는 새로운 두뇌 퍼즐을 막 배웠다.

스도쿠는 n2×n2n^2 \times n^2개의 칸으로 이루어진 격자판에서 한다. 격자판 전체는 n×nn \times n 크기의 n2n^2개 부분 격자로 나뉜다. 각 칸은 비어 있거나 11 이상 n2n^2 이하의 정수를 담을 수 있다. 스도쿠 판은 다음 조건을 만족하면 유효하다.

  1. 각 행에 있는 수는 모두 다르다.
  2. 각 열에 있는 수는 모두 다르다.
  3. 각 부분 격자에 있는 수는 모두 다르다.

다음 그림은 빈 칸이 없는 유효한 스도쿠 판 두 개를 보여 준다.

페레이둔은 빈 칸이 몇 개 있는 유효한 판을 가지고 여러분의 도움을 청한다. 여러분은 판을 유효하게 유지하면서 최대한 많은 빈 칸을 채워야 한다. 빈 칸을 모두 채우면서 판을 유효하게 유지하는 방법이 적어도 하나 존재함은 보장된다.

이 문제는 출력 전용 문제이므로 소스 코드를 제출할 필요가 없다. 테스트 케이스는 1010개이다. 각 테스트 케이스마다 스도쿠 판의 초기 상태인 표 AA가 담긴 입력 파일이 주어지며, 여러분은 빈 칸 일부를 채운 뒤의 스도쿠 판 최종 상태인 표 BB를 담은 출력 파일을 제출해야 한다. (1≤i,j≤n21 \leq i,j \leq n^2인) 모든 A[i][j]A[i][j]와 B[i][j]B[i][j] 값은 00 이상 n2n^2 이하의 정수이고, 값 00은 빈 칸을 나타낸다.

입력

입력은 다음 형식으로 주어진다.

  • 11번째 줄:     n\;\;n
  • 1+i1+i번째 줄 (1≤i≤n21 \leq i \leq n^2):     A[i][1]    A[i][2]  …  A[i][n2]\;\; A[i][1] \;\; A[i][2] \;\ldots \; A[i][n^2]

출력

출력은 다음 형식이어야 한다.

  • ii번째 줄 (1≤i≤n21 \leq i \leq n^2):     B[i][1]    B[i][2]  …  B[i][n2]\;\; B[i][1] \;\; B[i][2] \;\ldots \; B[i][n^2]

제한

  • 2≤n≤202 \leq n \leq 20,
  • 0≤A[i][j]≤n20 \leq A[i][j] \leq n^2,
  • 판 AA는 유효하고, 빈 칸을 모두 채우면서 판을 유효하게 유지할 수 있다.

예제1

  1. 예제 1

    입력
    2
    0 2 0 0
    3 0 0 0
    0 0 4 0
    0 0 0 1
    
    예상 출력
    4 2 3 0
    3 1 2 4
    1 3 4 2
    2 4 0 1