/ 基础 / 题库 /

Sudoku

Sudoku

时间限制:1秒  内存限制:256M


题目描述

数独是一款逻辑推理类游戏,玩家的任务是用数字 \(1\sim9\) 填满一个 \(9\times9\) 的网格,使其满足以下条件:

  • 数字 \(1\sim 9\) 在每一行恰好出现一次。
  • 数字 \(1\sim 9\) 在每一列恰好出现一次。
  • 把网格划分成 \(9\) 个 \(3\times3\) 的宫,数字 \(1\sim 9\) 在每一宫恰好出现一次。

现在给你一个未完成的数独网格,请你判断当前是否存在错误。**一个网格是存在错误的,当且仅当存在一行或一列或一宫,其中至少一个数字出现了 \(2\) 次及以上。**

如图展示了一个数独网格,它不存在错误。

输入格式

输入一个 \(13\times 13\) 的字符矩阵,表示数独网格,其中:

  • 字符 -|+ 表示网格框架,表示将网格划分为 \(9\) 个 \(3\times 3\) 的宫。
  • 字符 . 表示一个未填数字的单元格。
  • 从 \(1\sim9\) 的数字表示所在单元格已经填了这个数字。

具体请见样例。

输出格式

一行一个字符串,如果这个网格存在错误,输出 GRESKA,否则输出 OK

输入输出样例 #1

输入 #1

+---+---+---+
|52.|...|.81|
|.39|58.|...|
|.8.|.9.|...|
+---+---+---+
|24.|...|1.3|
|1..|43.|86.|
|.63|..7|.24|
+---+---+---+
|...|1.9|35.|
|..8|.74|6..|
|31.|86.|7.9|
+---+---+---+

输出 #1

OK

输入输出样例 #2

输入 #2

+---+---+---+
|3..|6..|..4|
|4.9|8.1|..7|
|..7|.49|6..|
+---+---+---+
|946|157|8.2|
|.2.|3..|745|
|.7.|28.|...|
+---+---+---+
|...|4..|..5|
|8.5|.6.|.2.|
|734|..8|5..|
+---+---+---+

输出 #2

GRESKA

输入输出样例 #3

输入 #3

+---+---+---+
|5..|98.|67.|
|6..|...|.31|
|.2.|613|.4.|
+---+---+---+
|.96|8.2|1.7|
|.28|..5|.9.|
|7.3|19.|6..|
+---+---+---+
|962|.7.|.1.|
|1.5|...|76.|
|.7.|5..|9..|
+---+---+---+

输出 #3

GRESKA

说明/提示

【样例解释#1】

这个网格没有错误,所有输出 OK

【样例解释#2】

第 \(9\) 列数字 \(5\) 出现了 \(2\) 次,且右下角的一个宫中数字 \(5\) 出现了 \(2\) 次。

【样例解释#3】

第 \(2\) 列数字 \(2\) 出现了 \(2\) 次,且第 \(7\) 列数字 \(6\) 出现了 \(2\) 次。

【数据范围】

对于 \(100\%\) 的数据,字符矩阵中只包含数字 \(1\sim9\)、字符 -|+.,且字符 -|+ 出现的位置与样例一致。

本题采用捆绑测试。

子任务 特殊性质 分值
\(1\) 如果存在错误,一定可以只检查行的限制找到 \(11\)
\(2\) 如果存在错误,一定可以只检查列的限制找到 \(12\)
\(3\) 如果存在错误,一定可以只检查宫的限制找到 \(13\)
\(4\) 无特殊性质 \(14\)

信息

ID
1123
难度
10
分类
(无)
标签
(无)
递交数
1
已通过
0
通过率
0%
被复制
3
上传者