数独谜题的变体架构、规则及创建方法
1. 数独谜题的变体架构
标准数独谜题是 9×9 框架和 3×3 方块的架构,但还有其他变体架构,这里主要介绍两种:更大尺寸的谜题和拼图数独谜题。
1.1 更大尺寸的谜题
更大尺寸的数独谜题示例为 16×16 的谜题,有 16 个唯一值。规则与标准数独相同,每行、每列和每个方块中每个数字只能出现一次。此时方块变为 4×4,大于 9 的值用字母 A、B、C、D、E 和 F 表示。修改 sudoku.py
中的函数虽然繁琐,但不需要新的逻辑。 Architecture
函数需要扩展循环变量的列表和范围, ConverMat
函数需要适应更大范围的值。由于这些修改不涉及解决谜题的逻辑扩展,这里不详细展示。
1.2 拼图数独谜题
拼图数独谜题改变了方块的配置。例如图中所示的谜题,方块的边界不再是 3×3,但规则依旧是每行、每列和每个方块中每个数字只能出现一次。
以下是创建不同拼图数独架构的代码:
# sudoku.py
def ArchitectureJigsaw1 ():
groups = []
x = np.array ((0,1,2,3,4,5,6,7,8))
for i in range( 9 ):
groups.append( list(x + i*9))
for i in range (9):
groups.append( list(x*9