#LQB0046. 数独填数

数独填数

题目描述:

数独是源自18世纪瑞士的一种数学游戏。玩家需要根据9×9网格上的已知数字,将剩余的所有空格填上数字,使得9×9网格上每一行、每一列及每一个3×3方块(粗线)内的数字均包含1~9,并且数字不重复。 例如:下图(左)是未完成的数独,下图(右)是完成后的结果。

这个数独可以使用如下9×9的字符方阵表示(空格用“.”表示):

例2:

例3:

现在给定一道数独题,请编程完成填数,并输出最后的结果。

输入格式

共有 99 行,表示未完成的数独。
每一行包含 99 个字符(字符只能为 1199 的数字和 .),字符之间没有空格及其他字符。
其中 . 表示数独上的空格。
题目数据保证数独有效且答案唯一。

输出格式

输出 99 行,表示已完成的数独。
每行输出 99 个数字,数字之间没有空格及其他字符。

样例输入输出

样例输入1

17.5..8..
.52.1....
.....759.
.8...94.3
.197.4..8
7......15
4.1...6..
3...2..59
...96..3.

样例输出1

174593826
952816347
638247591
286159473
519734268
743682915
491375682
367428159
825961734

数据范围与测试点说明

  • 输入规模固定为 99 行,每行 99 个字符。
  • 字符集仅包含:数字 1199.
  • 题目保证数独有效且答案唯一。

时间限制与内存限制

  • 时间限制:11
  • 内存限制:10241024 KiB