#P3074. Sudoku

Sudoku

本题没有可用的提交语言。

题目描述

在数独游戏中,你会得到一个大的 9×99 \times 9 网格,该网格被划分为较小的 3×33 \times 3 子网格。例如:

. 2 7 | 3 8 . | . 1 .
. 1 . | . . 6 | 7 3 5
. . . | . . . | . 2 9
------+-------+------
3 . 5 | 6 9 2 | . 8 .
. . . | . . . | . . .
. 6 . | 1 7 4 | 5 . 3
------+-------+------
6 4 . | . . . | . . .
9 5 1 | 8 . . | . 7 .
. 8 . | . 6 5 | 3 4 .

给定网格中的一些数字,你的目标是确定剩余的数字,使得数字 1199 在以下每种情况中恰好出现一次:

  1. 九个 3×33 \times 3 子网格中的每一个
  2. 九行中的每一行
  3. 九列中的每一列

输入格式

输入测试文件包含多个测试用例。每个测试用例由一行组成,包含 8181 个字符,这些字符代表数独网格的 8181 个方格,按行给出。每个字符要么是一个数字(从 1199),要么是一个句点 .(用于表示未填充的方格)。你可以假设输入中的每个谜题都恰好有一个解。文件结尾由单独一行包含单词 "end" 表示。

输出格式

对于每个测试用例,输出一行,表示已完成的数独谜题。

样例输入

.2738..1..1...6735.......293.5692.8...........6.1745.364.......9518...7..8..6534.
......52..8.4......3...9...5.1...6..2..7........3.....6...1..........7.4.......3.
end

样例输出

527389416819426735436751829375692184194538267268174593643217958951843672782965341
416837529982465371735129468571298643293746185864351297647913852359682714128574936

题目来源 Stanford Local 2006