#C795. Sudoku Solver

    ID: 51877 Type: Default 1000ms 256MiB

Sudoku Solver

Sudoku Solver

You are given a 9×9 Sudoku board with some cells filled with integers from 1 to 9, and the rest represented by 0 (zero) indicating an empty cell. Your task is to complete the board so that it becomes a valid Sudoku puzzle.

A valid Sudoku board must satisfy the following conditions:

  • Each row must contain the digits 1 through 9 without repetition. \( \forall i, \{board[i][j] : 0 \le j < 9\} = \{1,2,...,9\} \)
  • Each column must contain the digits 1 through 9 without repetition. \( \forall j, \{board[i][j] : 0 \le i < 9\} = \{1,2,...,9\} \)
  • Each of the nine 3×3 sub-grids must contain the digits 1 through 9 without repetition. \( \text{For each block, } \{board[i][j]\} = \{1,2,...,9\} \)

If the board is solvable, output True followed by the completed board. Otherwise, output False. The board is provided as 9 lines, each containing 9 space-separated integers.

inputFormat

The input consists of 9 lines, each line contains 9 integers separated by spaces. Each integer is between 0 and 9 (inclusive), where 0 represents an empty cell.

outputFormat

If the Sudoku puzzle can be solved, print True on the first line, followed by 9 lines where each line contains 9 space-separated integers representing the solved board. If the puzzle is unsolvable, print False only.

## 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
True

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>