数独谜题有各种不同的形状和难度等级。传统上,数独谜题是一个 $9 \times 9$ 的网格。最初,一些单元格填有数字,而另一些是空的。目标是在每个单元格中填入 $1 - 9$ 范围内的数字,并满足以下限制:
- 每一行必须包含 $1 - 9$ 的每个数字各一次
- 每一列必须包含 $1 - 9$ 的每个数字各一次
- 每个 $3 \times 3$ 的子网格必须包含 $1 - 9$ 的每个数字各一次
数独谜题的难度差异很大。最简单的谜题可以通过以下两种简单技巧解决:
单值规则 (Single Value Rule):搜索那些只有一个可能值可以填入的方格。
唯一位置规则 (Unique Location Rule):在任何行、列或子网格中,搜索一个只能放置在九个位置之一的数字。
考虑图 1 中部分完成的数独谜题。单值规则适用于网格方格 A7,其中 8 是唯一可以填入的值。唯一位置规则可用于在方格 B3 中填入 5,因为它是第 3 行中唯一可以放置 5 的位置。
图 1:样例输入 1
最简单的数独谜题仅用这两种规则即可解决;较难的谜题则会使用如剑鱼 (swordfish)、X-wing 和 BUG 等技巧。
对于本题,你将获得一个数独谜题,必须确定它是否为一个简单谜题,即它是否仅通过单值规则和唯一位置规则即可解决。
输入格式
输入由一个数独谜题组成,共九行。每行包含 9 个 $0$ 到 $9$ 范围内的值,其中 $0$ 表示谜题中的空格。
输出格式
如果是一个简单谜题,输出单词 Easy,随后输出已解决的数独谜题。谜题应打印在九行上,行内的值用单个空格分隔。如果谜题不是简单谜题,输出 Not easy,随后输出使用上述两种规则所能解决的部分数独谜题。对于部分解,使用与完整解相同的格式,并用 . 代替未填写的方格中的数字。
样例
样例输入 1
2 6 0 5 1 0 3 0 0 3 0 0 0 6 0 0 0 2 0 1 5 0 7 3 9 0 4 0 0 9 0 0 0 5 0 0 0 0 2 6 0 1 4 0 0 0 0 6 0 0 0 7 0 0 6 0 1 9 4 0 2 3 0 9 0 0 0 2 0 0 0 5 0 0 8 0 3 5 0 4 9
样例输出 1
Easy 2 6 4 5 1 9 3 7 8 3 9 7 8 6 4 1 5 2 8 1 5 2 7 3 9 6 4 1 3 9 4 8 7 5 2 6 5 7 2 6 9 1 4 8 3 4 8 6 3 5 2 7 9 1 6 5 1 9 4 8 2 3 7 9 4 3 7 2 6 8 1 5 7 2 8 1 3 5 6 4 9
样例输入 2
0 0 0 0 0 0 7 0 1 0 0 0 0 0 1 2 3 5 0 0 1 8 0 0 0 0 6 0 0 0 0 2 5 0 9 3 9 0 0 0 0 0 0 0 2 3 1 0 6 7 0 0 0 0 2 0 0 0 0 3 8 0 0 1 3 8 9 0 0 0 0 0 4 0 6 0 0 0 0 0 0
样例输出 2
Not easy . . 3 . . . 7 8 1 . . . . . 1 2 3 5 . . 1 8 3 . 9 4 6 . . . . 2 5 . 9 3 9 . . 3 . . . 7 2 3 1 2 6 7 9 4 5 8 2 . . . . 3 8 . . 1 3 8 9 . . 5 . . 4 . 6 . . . 3 . .