求代码
  • 板块学术版
  • 楼主Nevergonna_CCF
  • 当前回复11
  • 已保存回复11
  • 发布时间2021/9/30 17:59
  • 上次更新2023/11/4 05:18:53
查看原帖
求代码
547446
Nevergonna_CCF楼主2021/9/30 17:59

【题目描述】 参加了一个数独比赛,数独是一个9行9列的棋盘,每个元素是1~9的一个数字,空白格用0表示。 一个合法数独的规则如下:

  1. 数独的元素只能由0~9表示
  2. 数字 1~9,在每一行最多出现一次。
  3. 数字 1~9,在每一列最多许出现一次。
  4. 数字 1~9,在每一个 3x3 的宫格内最多许出现一次。 注意: 一个合法的数独可能有多组解,也不一定有解,但破解数独并不是初赛考察内容;他只需要判断此数独是否符合以上规则即可 比赛允许使用DEVC++,小童想写一个程序来帮助自己通过初赛,但他不擅长编程,聪明的你一定可以帮助他!

输入格式】 第一行一个正整数T,表示T组测试数据 接下来是T个9X9的矩阵,表示T个数独 每个矩阵占9行,每一行9个数字,为一个0~9的自然数,数字之间用空格隔开 其中1~9表示此位置已经填充,0表示此位置未填充(空白格) 每个9X9矩阵之间有一个空白行 【输出格式】 T行,若数独符合规则输出YES,否则输出NO

【样例输入】 2 0 0 1 0 0 0 0 6 8 0 0 8 5 0 0 0 1 0 0 9 0 0 0 0 4 0 0 0 5 0 0 0 7 0 0 0 0 0 0 0 4 5 3 0 0 0 0 0 1 0 0 0 2 0 8 0 0 0 0 0 0 0 0 0 0 3 6 0 0 0 0 0 0 7 0 0 9 0 2 0 0

0 0 1 0 0 0 0 6 8 0 1 8 5 0 0 0 2 0 0 9 0 0 0 0 4 0 0 0 5 0 0 0 7 0 0 0 0 0 0 0 4 5 3 0 0 0 0 0 1 0 0 0 9 0 8 0 0 0 0 0 0 0 0 0 0 3 6 0 0 0 0 0 0 7 0 0 9 0 2 0 0 【样例输出】 YES NO

【样例解释】 第一个数独符合规则,输出YES 第二个数独最左上角的3X3宫格有两个1存在,因此不合法,输出NO

【数据范围】 对于30%的数据:T=1 另有70%的数据:2<=T<=50 对于100%的数据:1<=T<=50,且数独均为严格9行9列

2021/9/30 17:59
加载中...