两天前,我收到了一个我试图用 Python 3 解决的数独问题。我被告知确实存在一个解决方案,但我不确定是否存在多个解决方案。
问题如下: 一个 9x9 的数独网格是完全空的。然而,它确实包含彩色框,并且在这些框内,数字的总和必须是平方数。除此之外,正常的数独规则适用。
这里的问题不是解决数独谜题,而是生成一个满足彩色框规则的可行谜题。
我的策略
使用 numpy 数组,我将网格划分为 81 个索引,这些索引可以重新排列为 9x9 网格。
import numpy as np
print(np.array([i for i in range(81)]).reshape((9, 9)))
->
[[ 0 1 2 3 4 5 6 7 8]
[ 9 10 11 12 13 14 15 16 17]
[18 19 20 21 22 23 24 25 26]
[27 28 29 30 31 32 33 34 35]
[36 37 38 39 …Run Code Online (Sandbox Code Playgroud)