#P1333. 机房的遭遇

机房的遭遇

[问题描述]

到机房巡逻,这是Ws每天的例行公事。这天他来到了四楼某一机房,正在查看之时,从一不知名的角落里飞来牛奶盒,幸亏Ws身手敏捷,一摆手将牛奶盒打到了身旁的键盘上,躲过了一劫。Ws不禁得意起来,“哈哈,我还不老嘛!”,就在这时,他脚踩到地上的牛奶,一溜————“砰!”————他撞到了脚。。。当是时,Ws决定走出机房求救,但他发现由于脚撞上了,他只能拐一定次数的弯,拐多了他就没办法走了。。你的任务就是确定他能否走出机房以及在能走出机房的情况下他最少要走多少步。

机房是一个n*m的矩阵,Ws每步可向上下左右四个方向移动一格,‘G’代表OIER所处的格子,机房摆用‘X’表示,‘.’表示空地,有‘D’的一格表示门所在的格子。(注意事项:由于此机房构造特殊,所以门不一定在矩形边缘。。走到门所在的一格即算走出了机房)

[输入格式]:

第一行为n,m;

第二行为k,表示Ws最多能拐k次弯;

接下来一个n*m的矩阵;

[输出格式]:

如果ws能走出房间,则输出最少的步数;否则输出“Help me!”(不包括引号);

[样例输入1]:

2 2
1
G.
XD

[样例输出1]:

2

[样例输入2]:

2 2
1
GX
XD

[样例输出2]:

Help me!

[数据规模]:

n,m<=100,k<=100;