生成步骤:
1. 生成数独终盘
a. 遍历整个数独,随机(从其候选值中进行随机)获取每个单元格的值
b. 若能走到最后,则表示生成数独终盘成功,否则重新进行步骤 1,直至成功
2. 在终盘中进行挖洞,生成具有唯一解的数独难题
a. 一次性挖取 n 个洞(n 根据难度进行设定),表现即为随机将数独中的 n 个单元格的值置为 0
b. 挖取完毕后,进行求解,来判定挖取后的得到的数独难题的解是否唯一。
c. 若能求解,则其解唯一,否则重新进行步骤 a、b,直至能够求解成功,生成数独难题
https://github.com/qjwgg/sudoku
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/176000
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.