在c++中检查数独的有效性
Checking sudoku puzzle validity in c++
我正在编写一个程序,该程序接受一组数字三元组并创建一个数独谜题,使用每个三元组中的前两个数字索引2d数组,最后一个数字作为进入谜题的实际数字。程序的一部分是验证,以确保谜题中的每个数字在同一行、同列或同3x3块中没有重复。我已经写了代码来检查行和列,但我不确定如何去3x3块部分。我可以想到几种可行的方法(例如设置第三个数组维度并根据数组中的位置标记每个数字),但我能想到的一切都将是一个漫长而痛苦的过程。有没有我没想过的更简单的方法?
一个简单的方法,在伪代码中:
-
对于每个3x3块(x块, y块 ∈{0,3,6}):
-
对于块内的每个单元格(x1, y1 ∈{0,1,2}):
-
对于块内的其他单元格(x2, y2 ∈{0,1,2}):
-
如果值at (x1, y1)等于值at (x2, y2),且x1 ≠X 2或y1 ≠2 y <子> : 子>
- 块无效
-
-
-
除非证明无效,否则块是有效的
相关文章:
- 如何检查类中共享指针的有效性?
- 提升图形库:以高性能的方式检查vertex_descriptor的有效性
- 检查2D阵列中的有效性
- 根据某些规则检查字符串表达式的有效性
- 递归检查数字的有效性
- 如何从 Python 扩展检查输入变量的有效性
- 检查 x264 nal 单位的有效性
- 我是否必须检查此方法的指针有效性
- C++程序检查标记的有效性
- 在 Linux 环境程序中访问地址之前,如何检查地址的有效性?
- 递归检查表达式有效性的布尔函数
- 检查预设双精度精确值的有效性
- 使用正则表达式检查输入的有效性
- 在c++中检查数独的有效性
- 读取输入数据并检查其有效性的通用宏
- 在QWebSockets客户端检查SSL证书有效性的最佳实践
- 检查输入有效性
- 如何检查日期格式的有效性(例如,%d/%m/%Y-%H:% m:%S)
- 从未知指针到类的强制转换;如何检查有效性
- 对 boost::smart_ptr 的引用指向对象并检查其有效性