有谁知道一种简单的算法来检查Sudoku配置是否有效?我想出的最简单的算法是(对于n号板)
for each row for each number k in 1..n if k is not in the row (using another for-loop) return not-a-solution ..do the same for each column
但是我很确定必须有一个更好的(从更优雅的意义上来说)解决方案。效率并不重要。
您需要检查Sudoku的所有约束:
总共6个检查。.使用蛮力方法。
如果您知道电路板的尺寸(例如3x3或9x9),则可以使用某种数学优化方法
编辑 :求和约束的解释:首先检查和(如果和不是45,则停止)比检查重复项要快得多(并且更简单)。它提供了一种丢弃错误解决方案的简便方法。