我有两个 3x3 矩阵。一个代表实际状态,另一个代表“当前”状态。
Actual state -> 1,2,3
5,7,6,
9,8,x
Current state1 -> 3,1,2
x,6,7
8,9,4
我需要通过仅在水平或垂直方向上交换元素 x 及其相邻元素(不允许对角线)来将当前状态矩阵恢复到原始状态。
E.g. Current state 2 can be x,1,2 or 3,1,2
3,6,7 6,x,7
8,9,4 8,9,4
我可以解决它直到达到这个状态
current state n -> 1,2,3
5,7,6
8,9,x
我不知道如何在此之后继续到原始状态,即交换两个元素。你能帮我一下吗?
谢谢
最佳答案
所以,假设您正在谈论这样的谜题(只是较小)
alt text http://www.maukatoyventures.com/images/T/Number%20Puz%20Wall%20Panel.jpg
那么你可以使用大多数图搜索算法(深度优先搜索、广度优先搜索、A*,如果你想变得更奇特)来解决它。对这些内容有一个很好的概述,因为它们适用于这个特定问题here 。网络上还流传着大量有关所有这些的信息。
关于algorithm - 使用两个 3x3 矩阵解决游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1653849/