4578 - Monsters

通过次数

1

提交次数

7

时间限制 : 1 秒
内存限制 : 128 MB

你和一些怪物在迷宫里。当你在迷宫中向某个方向迈出一步时,每个怪物也可能同时迈出一步。你和怪物一样,每步均是移动到上下左右相邻的网格。当然你和怪物都可以某个时刻选择不移动。

你的目标是到达一个没有怪物存在的位于迷宫边界(迷宫最上面或者最下面那行,最左或者最右那列)的格子。

你的任务是判断这是否可行,如果可行,打印一条你可以遵循的路径。

注意:你的计划必须在任何情况下都有效,即使怪物事先知道你的路径。

输入

第一行输入n,m,代表迷宫的行与列。(1≤n,m≤1000)

接下来n行m列个字符,代表迷宫。

.(代表道路),#(代表是障碍),A(代表起点),M(代表怪物)。

保证迷宫中一定会有一个A

输出

如果可以找到,

第一行输出YES,在第二行输出路径长度,第三行输出由D,U,L,R(代表下,上,左,右)组成的路径,

如果找不到,输出NO。

你可以输出任意一条长度不超过n·m的路径。

样例

输入

5 8 
########
#M..A..#
#.#.M#.#
#M#..#..
#.######

输出

YES
5
RRDDR

来源

CSES