Under construction

Still being built. Things may change

Sudoku 3

Time limit1sMemory limit512 MB

Summary
Fill the empty cells of an n^2 by n^2 Sudoku board with values from 1 to n^2 so that rows, columns, and sub-grids stay distinct, filling as many cells as possible.
Level

Medium6 of 10

Topics
Backtracking, Matrix, Implementation
Solved
No attempts yet

Problem

Fereydun, the legendary Persian hero whose prophecy was to overcome Zahhak, believes that he needs a powerful mind together with a powerful body. He has just learned a new brain teaser called Sudoku from a Japanese trader. Sudoku is played on a board that is a grid of n2×n2n^2 \times n^2 cells. The whole grid is also partitioned into n2n^2 sub-grids, each of size n×nn \times n. Each cell can be empty or contain an integer from 11 to n2n^2 (inclusive). A Sudoku board is valid if it meets the following conditions: 1. All numbers in each row are distinct. 2. All numbers in each column are distinct. 3. All numbers in each sub-grid are distinct. The following figure shows two valid Sudoku boards with no empty cells: Fereydun has a valid board with some empty cells and has asked for your help. Fill as many empty cells as you can while keeping the board valid. It is guaranteed that at least one way exists to fill all the empty cells while keeping the board valid. This is an output-only problem, so no source code submission is required. There are 1010 test cases. For each test case, you are given an input file containing a table AA as the initial state of a Sudoku board. Submit an output file containing a table BB as the final state of that board after filling some of its empty cells. All A[i][j]A[i][j] and B[i][j]B[i][j] values (for 1≤i,j≤n21 \le i,j \le n^2) are integers from 00 to n2n^2 (inclusive), where 00 marks an empty cell.

Input

The first line contains nn. Line 1+i1+i (for 1≤i≤n21 \le i \le n^2) contains A[i][1]A[i][1], A[i][2]A[i][2], ..., A[i][n2]A[i][n^2], separated by spaces.

Output

Line ii (for 1≤i≤n21 \le i \le n^2) must contain B[i][1]B[i][1], B[i][2]B[i][2], ..., B[i][n2]B[i][n^2], separated by spaces.

Constraints

2≤n≤202 \le n \le 20. 0≤A[i][j]≤n20 \le A[i][j] \le n^2. The board AA is valid, and all of its empty cells can be filled while keeping it valid.

Examples1

  1. Example 1

    Input
    2
    0 2 0 0
    3 0 0 0
    0 0 4 0
    0 0 0 1
    
    Expected output
    4 2 3 0
    3 1 2 4
    1 3 4 2
    2 4 0 1