数独(Sudoku)是一种基于逻辑的组合数字填充谜题。其目标是在一个 $9 \times 9$ 的网格中填入 $1$ 到 $9$ 的数字,使得以下条件成立:
- 每一行包含 $1$ 到 $9$ 的每个数字恰好一次。
- 每一列包含 $1$ 到 $9$ 的每个数字恰好一次。
- 九个 $3 \times 3$ 的子网格中的每一个都包含 $1$ 到 $9$ 的每个数字恰好一次。
对于给定的尚未完成的数独网格,判断其中是否存在错误。
注意:不需要检查数独网格是否可解。
输入格式
输入描述了数独网格。 字符 '|'、'-' 和 '+' 用于构建 $3 \times 3$ 子网格的边框。 字符 '.' 表示一个空单元格。 输入中的所有其他字符均为 '1' 到 '9' 之间的数字。 请参考样例以获得更清晰的理解。
输出格式
如果数独棋盘中存在错误,输出单词 GRESKA。否则,输出单词 OK。
子任务
| 子任务 | 分值 | 约束 |
|---|---|---|
| 1 | 11 | 仅通过检查第一条规则即可确定是否存在错误。 |
| 2 | 12 | 仅通过检查第二条规则即可确定是否存在错误。 |
| 3 | 13 | 仅通过检查第三条规则即可确定是否存在错误。 |
| 4 | 14 | 无额外约束。 |
样例
输入 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
说明 1
没有错误,因此输出 OK。
输入 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
说明 2
第九列存在错误:数字 5 出现了两次;此外右下角的 $3 \times 3$ 子网格也存在错误:数字 5 出现了两次。
输入 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
说明 3
存在两个错误:数字 2 在第二列出现了两次,数字 6 在第七列出现了两次。