#AW169. Sudoku 2
Sudoku 2
题目描述
数独是一个 16×16 的单元格矩阵,由 16 个 4×4 的子矩阵组成。部分单元格已填入字母 A 至 P(即英文字母表的前 16 个大写字母),如图 1 所示。

游戏的目标是用 A 至 P 的字母填满所有空白单元格,并满足以下规则:
-
每一行包含所有字母
A至P,且不重复; -
每一列包含所有字母
A至P,且不重复; -
每个 4×4 的子矩阵包含所有字母
A至P,且不重复。
初始网格已满足上述约束条件,并保证唯一解。
输入格式
输入测试文件包含多个测试用例。
每个测试用例表示一个数独网格,包含连续的 16 行字符串。其中第 个字符串表示网格的第 行,长度为 16 个字符,并从行首开始排列。
字符串的字符取自集合 A, B, , P, - ,其中字母 A 至字母 P 表示已填写的单元格,- 表示空白单元格。
测试用例之间以单个空行分隔,输入以文件结束符(EOF)终止。
输出格式
对于每组测试数据,输出 16 行,每行 16 个字符,表示完成后的数独。
请注意,相邻两组数据之间应输出一个空行,但最后一组数据后面不应有空行。