#bcu30b. [bcu30_b]数字パズル
[bcu30_b]数字パズル
问题描述
在日本人力资源公司Recruit Holdings的员工中,数字拼图非常流行。
员工们玩的数字拼图是一个由9行9列的方格组成的,要求将数字1到9填入其中。但是,填入的数字必须满足以下条件:
- 每行中的数字不能重复出现超过2次。
- 每列中的数字不能重复出现超过2次。
- 对于任何一个方格来说,该方格不能与其所在位置上的象棋马走日的位置(参考图)上的数字相同。
图. 如果你将象棋马放在黑色方格上,它只能在有白色圆圈的8个位置之间移动。
你被要求编写一个程序来检查答案。给定一个9行9列的网格,每个格子中填有数字1到9,请编写一个程序来检查它是否符合上述条件。
约束条件
- 是数字1到9
输入
输入以以下格式给出。注意,第行从左到右的第列的数字为。
... : ...
输出
如果满足条件,输出Yes
;如果不满足条件,输出No
。
输入示例1
123456789
234567891
345678912
456789123
567891234
678912345
789123456
891234567
912345678
输出示例1
Yes
满足所有三个条件。
输入示例2
123456789
234567891
345678912
456789123
567891234
678912345
789123456
891234567
912345679
输出示例2
No
最后一行包含两个9
,因此不满足第一个条件。同样,也不满足第二个条件。
输入示例3
123456789
234567891
345678912
456789123
567891234
678912345
789123456
912345678
891234567
输出示例3
No
从上往下的第7行从左到右数第3列的方格和第8行从左到右数第1列的方格可以通过象棋马的移动在1步内互相到达。然而,这两个方格中填有相同的数字,因此不满足第三个条件。