使用两个3x3矩阵解决游戏问题

时间:2009-10-31 09:12:13

标签: algorithm

我有两个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

我无法在此之后如何进入原始状态,即交换两个元素。你能帮帮我吗?

谢谢

1 个答案:

答案 0 :(得分:4)

所以,假设你在谈论像这样的谜题(只是更小)

alt text http://www.maukatoyventures.com/images/T/Number%20Puz%20Wall%20Panel.jpg

然后你可以使用大多数任何图形搜索算法(深度优先搜索,广度优先搜索,A *,如果你想得到花哨)来解决它。这些问题适用于这个特定问题here。关于所有这些在网络上浮动的信息也有大量信息。