如果有9行就像数独一样是9行,但它们就像
530070000
600195000
098000060
800060003
400803001
700020006
060000280
000419005
000080079
哪个转换为
534678912
672195348
198342567
859761423
426853791
713924856
961537284
287419635
345286179
我认为它会更简单,但是一旦把它放入我的程序中就会留下巨大的空白。
我想我可以简单地按下每一列并将最小的数字放在第一列的开放空间中,如果它不是任何其他数字的方式,但随着我的进步,我意识到我必须返回并删除某些数字以使其更好。
请注意,唯一适用的条件是同一列中的数字不能相同且同一行中的数字不能相同,但没有框。
有什么建议吗?
答案 0 :(得分:0)
您要做的是recursive backtracking。
答案 1 :(得分:0)
首先确定每个单元格的所有可能数字,只给出本回合中填充的单元格。如果任何单元格只有一个可能的数字,请选择它并重新评估受影响的单元格(在同一行,列和3x3方格中)。
当您再也找不到只有一种可能性的单元格时,请使用递归回溯。