创建数独初始板

Dev*_*vin 14 sudoku

是否有算法或方法我可以获得数独游戏的初始状态数独游戏.最好能否具有不同难度?

mal*_*ouk 15

基本上有两种方法.在两者中你需要有2个求解器,一个类似于人的求解器,它使用人类可以执行的策略和回溯求解器.

使用第一种方法,您可以生成随机完整解决方案并迭代删除随机单元解决方案.回溯解算器将确保,仍然只存在一个解决方案,而人类解算器将确保它仍然可以被人类解决,它也可以用来衡量拼图的难度.

第二种方法以相反的方式工作.首先,您创建一个空板并随机放置17个单元解决方案(以一致的方式).图17是已知用于生成具有独特解决方案的拼图的最低填充细胞计数.现在每个步骤中的算法检查,如果它已经有一个唯一的解决方案,如果没有,它会添加另一个(连续)填充的单元格.如果解决方案保证解决方案独特性并且难题可由人解决并且难度低于某个限制,则算法终止.