【发布时间】:2010-07-23 17:01:23
【问题描述】:
如果发现在其中放置任何数字 1-9 的单元格将是非法移动,则解决数独难题的 a brute-force algorithm 实现将失败。
实现是用 C 语言编写的,电路板由 9x9 数组表示。求解器从 9 开始倒计时,直到达到一个合法数字,如果没有达到,它会输出一个 0。
零也表示要填充的单元格。如果输入一串零(空板),则输出(截断):
9 8 7 6 5 4 3 2 1
6 5 4 9 8 7 0 0 0
最后三个零之所以存在,是因为之前填写的值没有改变。 How我可以阻止求解器这样失败吗?
【问题讨论】:
-
也许你在实现中有错误
-
我觉得像 Peter Norvig (norvig.com/sudoku.html) 这样的简单约束求解器的存在使蛮力求解器变得过时且无趣。
标签: c algorithm brute-force sudoku