感谢 @tanghaocheng 提供了本题的数据!
八数码问题,就是在一个含有 和 x 的 方格中,每次可以将 x 与其相邻位置的数字交换。使得最后变成
x
1 2 3 4 5 6 7 8 x
你要做的就是实现八数码的解决方案,并要求交换次数最少。
输入一个 的矩阵,包含 和 x。
输出移动的方案,用 D,L,R,U 表示。
D
L
R
U
D 表示把 x 与它下面的数字交换。
L 表示把 x 与它左边的数字交换。
R 表示把 x 与它右边的数字交换。
U 表示把 x 与它上面的数字交换。
如果有多个答案,输出字典序最小的方案。
字典序 D L R U。
如果不可能实现,输出 -1。
-1
2 3 4 1 5 x 7 6 8
DLURULLDDRURDLLURDR
对于 的数据,保证矩阵包含 和 x 各一个。