#P10481. Sudoku

Sudoku

题目描述

Sudoku is a very simple task. A square table with 9 rows and 9 columns is divided to 9 smaller squares 3x3 as shown on the Figure. in some of the cells arewriten decimal digits ftom 1 to 9. The other cels are empty. The goal is to fill the empty cels with decimal digis from 1 to 9, one digit per cell, in such waythat in each rowy, in each column and in each marked 3x3 subsquare, allthe digits from 1 to 9 to appear. Write a program to solve a given Sudoku-task.

输入格式

The input data will start with the number ofthe test cases. For each test case,9 lines follow, corresponding to the rows ofthe table. On each line a string ofexactly 9 decimal digits is given, corresponding to the cells in this line. If a cell is empty it is represented by 0.

输出格式

For each test case your program should print the solution in the same format as the input data. The empty cells have to be filled according to the rules. lf solutions is not unique, then the program may print any one of them.

题目大意

【题目描述】

数独是一个非常简单的任务。一个包含 9 行和 9 列的正方形表格被分成了 9 个小的 3x3 方块,如图所示。一些单元格中写有从 1 到 9 的十进制数字。其他单元格为空。目标是以从 1 到 9 的十进制数字填充空单元格,每个单元格一个数字,使得每行、每列和每个标记的 3x3 子方块中都出现从 1 到 9 的所有数字。编写一个程序来解决给定的数独任务。

【输入格式】

输入数据将以测试用例的数量开始。对于每个测试用例,将跟随 9 行,对应于表格的行。在每一行上,给出一个正好包含 9 个十进制数字的字符串,对应于该行中的单元格。如果一个单元格为空,则用 0 表示。

【输出格式】

对于每个测试用例,你的程序应该以与输入数据相同的格式打印解决方案。空单元格必须按照规则填充。如果解不唯一,则程序可以打印其中任何一个。

翻译来自于:ChatGPT

1
103000509
002109400
000704000
300502006
060000050
700803004
000401000
009205800
804000107

143628579
572139468
986754231
391542786
468917352
725863914
237481695
619275843
854396127