开拓者正在完成捉鬼任务,现在他被棋鬼的寻径指津问题给难倒了。
寻径指津的棋盘可以看作一个 的方格图。你需要提前为机巧输入移动方向指令,引导机巧在指定步数内走出迷宫。机巧将朝移动方向直行到底,直到碰到障碍物后执行下一个方向指令。在棋盘上还有一些压力桩,机巧经过压力桩后,压力桩将转变为障碍物。
请你帮他找出用最少的步数到达终点的指令。
输入
第一行两个整数 表示这是一个 的棋盘 ()。
接下来行,每行一个长度为 的字符串 。其中:
. 表示一个空的格子
# 表示格子上有障碍物
? 表示格子上有一个压力桩
S 表示一个空的格子,并且是起点
E 表示一个空的格子,并且是终点
保证测试数据中棋盘四边均是障碍物或终点,有且仅有一个起点和一个终点,并且压力桩不超过 10 个。
输出
第一行一个数字 表示从起点到终点最少需要的步数,如果从起点不能到达终点,则输出 -1。
接下来 行,每行一个字符 ,表示机巧执行的移动指令。
样例
标准输入 复制文本 |
6 8 #####E## #......# #..#...# #...?..# #..S...# ######## |
标准输出 复制文本 |
4 U R L U |