#C795. Sudoku Solver
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.
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>