大家觉得这个数独生成方法(算法)怎么样?

2015-03-11 10:15:37 +08:00
 guguai
生成步骤:
1. 生成数独终盘
a. 遍历整个数独,随机(从其候选值中进行随机)获取每个单元格的值
b. 若能走到最后,则表示生成数独终盘成功,否则重新进行步骤 1,直至成功
2. 在终盘中进行挖洞,生成具有唯一解的数独难题
a. 一次性挖取 n 个洞(n 根据难度进行设定),表现即为随机将数独中的 n 个单元格的值置为 0
b. 挖取完毕后,进行求解,来判定挖取后的得到的数独难题的解是否唯一。
c. 若能求解,则其解唯一,否则重新进行步骤 a、b,直至能够求解成功,生成数独难题

https://github.com/qjwgg/sudoku
9495 次点击
所在节点    程序员
43 条回复
lingo
2015-03-14 10:07:08 +08:00
@guguai 你自己看看你的第一个解有没问题。。。第三列。。吓死我了。。
lingo
2015-03-14 10:07:55 +08:00
还有第二列
guguai
2015-03-14 13:16:55 +08:00
@lingo (⊙o⊙)…抱歉,丢脸了~~~看来我那数独求解方法是有大问题了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/176000

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX