大家可能都见过移动数字/图片拼图游戏。这个游戏中,你需要在一个4x4的网格中移动1到15的数字,将它们从随机的起始位置移动到
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15
我女朋友或一些非程序员朋友可以用一些无法向我解释的玄妙魔法来解决这个问题。我无法解决这个难题。我发现最有希望的方法是先解决第一行,然后我会得到:
1 2 3 4
X X X X
X X X X
X X X
然后第一列不要接触已经解决的单元格
1 2 3 4
5 X X X
9 X X X
13 X X
然后第二行到
1 2 3 4
5 6 7 8
9 X X X
13 X X
然后第二列
1 2 3 4
5 6 7 8
9 10 X X
13 14 X
问题在于,剩下的 X(随机数)个方块有时处于无法解决的位置,这是我的解决方案失败的地方。但我感觉我正在走对的道路。
我的程序通过尝试将数字 X 移动到指定位置而不会弄乱正确的单元格来解决指定行/列的问题,如果可能的话。但它无法解决 2x2 网格中的最后3个方块。我错过了什么?