#1397. ⼩球⼊洞
⼩球⼊洞
题目描述
⼩球⼊洞是⼀个经典的闯关游戏,在⼀个⾏列的平⾯棋盘中有⼀个⼩球。棋盘中有些格⼦是障碍,⼩球⽆法经过。有些格⼦是空洞,当⼩球到达空洞处就会落下,游戏就成功通关了。空洞有时候不⽌⼀个,⼩球只要落在任意⼀个空洞就算成功。
这个游戏的得分与⼩球滚动的格⼦数有关,为了获得最⾼分,你需要⽤最少的步数使⼩球落到空洞中。
现在给你⼀个棋盘全部的信息,希望你给出⼩球⽤最少步数落到空洞中的对应⽅案。
注意:虽然输⼊的给定的棋盘不包括边界,但是可以认为棋盘周围有⼀圈障碍,⼩球不会越出边界。
输入格式
输⼊⼀共⾏,第⼀⾏两个正整数和 ,表示棋盘的⾏数和列数。
第2到⾏,每⾏个字⺟,描述棋盘的具体信息,其中.
代表空格⼦,#
代表障碍,O
代表空洞,B
代表球。
输⼊保证棋盘上只有⼀个球。
输出格式
输出⼀⾏,包括若⼲个⼤写字⺟,描述⼩球到达空洞的完整移动步骤,其中U
代表向上⾛,D
代表向下⾛,L
代表向左⾛,R
代表向右⾛。
如果有多种⽅案,请给出字典序最⼩的⽅向。(把所有可⾏的移动步骤看做字符串,要求输出最短的字符串,如果最短的字符串有多条,需要输出其中字典序最⼩的)。
5 5
#....
##..#
.....
.#..#
O#..B
LLUULLDD
10 9
O.......O
#####....
..#...###
###.##...
.....B.#.
#####.##.
.........
#........
#.#######
#....O...
LLUURRURRRU
提示
,保证小球一定能落入至少一个空洞