#P9903. [COCI 2023/2024 #1] Sudoku
[COCI 2023/2024 #1] Sudoku
题目描述
数独是一款逻辑推理类游戏,玩家的任务是用数字 填满一个 的网格,使其满足以下条件:
- 数字 在每一行恰好出现一次。
- 数字 在每一列恰好出现一次。
- 把网格划分成 个 的宫,数字 在每一宫恰好出现一次。
现在给你一个未完成的数独网格,请你判断当前是否存在错误。一个网格是存在错误的,当且仅当存在一行或一列或一宫,其中至少一个数字出现了 次及以上。
如图展示了一个数独网格,它不存在错误。
输入格式
输入一个 的字符矩阵,表示数独网格,其中:
- 字符
-
、|
、+
表示网格框架,表示将网格划分为 个 的宫。 - 字符
.
表示一个未填数字的单元格。 - 从 的数字表示所在单元格已经填了这个数字。
具体请见样例。
输出格式
一行一个字符串,如果这个网格存在错误,输出 GRESKA
,否则输出 OK
。
+---+---+---+
|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|
+---+---+---+
OK
+---+---+---+
|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..|
+---+---+---+
GRESKA
+---+---+---+
|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..|
+---+---+---+
GRESKA
提示
【样例解释#1】
这个网格没有错误,所有输出 OK
。
【样例解释#2】
第 列数字 出现了 次,且右下角的一个宫中数字 出现了 次。
【样例解释#3】
第 列数字 出现了 次,且第 列数字 出现了 次。
【数据范围】
对于 的数据,字符矩阵中只包含数字 、字符 -
、|
、+
、.
,且字符 -
、|
、+
出现的位置与样例一致。
本题采用捆绑测试。
子任务 | 特殊性质 | 分值 |
---|---|---|
如果存在错误,一定可以只检查行的限制找到 | ||
如果存在错误,一定可以只检查列的限制找到 | ||
如果存在错误,一定可以只检查宫的限制找到 | ||
无特殊性质 |
【说明】
本题分值按 COCI 原题设置,满分 。
题目译自 COCI2022-2023 CONTEST #1 T1 Sudoku。