为数独生成解决方案和启动网格的工具。
sudokulib的Python项目详细描述
sudokulib是一个工具集合,用于生成 数独游戏。它使用递归回溯算法(最初 作者杰里米·布朗,cel destept),能够生成3x3 数独在~0.015秒内完成。它还可以在约0.100秒内生成4x4数独。 (有时更长)。
使用这个库在几秒钟内生成了大约5x5个网格, 但我也看到这个程序运行了几个小时都没有成功生成 一个5x5。任何超过5x5的事情似乎都需要很长时间。
您可以使用这个库通过调用^{tt1}来解决数独难题。$ Sudoku实例的方法。此方法接受两种类型的值。 其中n是网格大小:
- 具有n^4个值的一维列表
- 一个多维列表,有n^2个列表,每个列表有n^2个值。每个列表 表示网格中的行
提供给init_grid的列表中的值必须是数字并且 大于0但小于n^2才能显示在起始网格中。任何 其他值将被忽略,谜题将在没有 对这些价值的考虑。
库还提供了生成起始网格的实用程序,因此您可以 玩数独,而不是仅仅产生解决方案。有几个困难 可供选择的级别。
分布中还包括一个用于生成“jigsaw”的示例类 数独的变体。这个类偶尔会生成可解网格。 不到一两秒钟,但往往要花更长的时间。