logo AlgoBeat OnlineJudge
登录 注册

#10118. 八数码

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: AlgoBeat 官方账号

题目描述

感谢 @tanghaocheng 提供了本题的数据!

八数码问题,就是在一个含有 x 方格中,每次可以将 x 与其相邻位置的数字交换。使得最后变成

1 2 3
4 5 6
7 8 x

你要做的就是实现八数码的解决方案,并要求交换次数最少。

输入格式

输入一个 的矩阵,包含 x

输出格式

输出移动的方案,用 DLRU 表示。

D 表示把 x 与它下面的数字交换。

L 表示把 x 与它左边的数字交换。

R 表示把 x 与它右边的数字交换。

U 表示把 x 与它上面的数字交换。

如果有多个答案,输出字典序最小的方案。

字典序 D L R U

如果不可能实现,输出 -1

样例

输入输出样例 #1

输入 #1

2 3 4  
1 5 x  
7 6 8

输出 #1

DLURULLDDRURDLLURDR

数据范围与提示

对于 的数据,保证矩阵包含 x 各一个。