Sudokuボード
あなたには、いくつかのマスに数字が入った
9x9
のSudokuボードが与えられています。与えられたSudokuを解き、有効な解答を導き出すのが課題です。もし複数の解答が存在する場合は、そのうちのどれを出力してもかまいません。Sudokuボードは、
9x9
のマス目をさらに9つの 3x3
のブロックに分割した構造をしています。各マスには 1
から 9
までのいずれかの数字が入ります。Sudokuの目的は、まだ埋まっていないすべてのマスを、行、列、そして 3x3 ブロック のそれぞれに 1
から 9
までの数字が重複しないように埋めることです。 入力
入力は9行で構成され、各行には9つのスペース区切り整数が含まれています。これはSudokuボードの状態を示しています。数字は
1
から 9
の間で、空いているマスは 0
で表されています。 出力
解答として、9行にわたって9つのスペース区切り整数を出力してください。もし複数の正しい解答が存在する場合、どれを出力してもかまいません。
例
入力 | 出力 |
9 8 0 0 0 0 3 2 1
0 0 0 0 0 3 0 8 5
0 0 1 0 2 0 0 0 0
0 0 0 5 0 7 0 0 0
0 0 4 0 0 0 1 0 0
0 9 0 0 0 0 0 0 0
5 1 0 0 0 0 0 7 3
0 0 2 0 1 0 0 0 0
8 6 0 0 4 0 0 0 9 | 9 8 7 6 5 4 3 2 1
2 4 6 1 7 3 9 8 5
3 5 1 9 2 8 7 4 6
1 2 8 5 3 7 6 9 4
6 3 4 8 9 2 1 5 7
7 9 5 4 6 1 8 3 2
5 1 9 2 8 6 4 7 3
4 7 2 3 1 9 5 6 8
8 6 3 7 4 5 2 1 9 |
Constraints
Time limit: 50 seconds
Memory limit: 512 MB
Output limit: 1 MB