#P10482. Sudoku Solver

    ID: 12495 Type: Default 1000ms 256MiB

Sudoku Solver

Sudoku Solver

In the game of Sudoku, you are given a large \(9 \times 9\) grid divided into smaller \(3 \times 3\) subgrids. Some of the cells are already filled with numbers from 1 to 9. Your task is to complete the grid so that each row, each column, and each \(3 \times 3\) subgrid contains all the digits from 1 to 9 exactly once.

The rules can be summarized as follows:

  • Each of the nine rows must contain all digits \(1,2,\dots,9\) without repetition.
  • Each of the nine columns must contain all digits \(1,2,\dots,9\) without repetition.
  • Each of the nine \(3 \times 3\) subgrids must contain all digits \(1,2,\dots,9\) without repetition.

The input uses the number 0 to represent an empty cell.

inputFormat

The input consists of 9 lines, each containing 9 space-separated integers. Each integer is in the range 0-9, where 0 represents an empty cell in the Sudoku grid.

outputFormat

Output the completed Sudoku grid in the same format as the input: 9 lines, each containing 9 space-separated integers.

sample

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

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

</p>