ACM Tempter of the Bone

小狗在古老的迷宫(maze)中发现了一个骨头,这使它非常着迷。然而,当他把它捡起来的时候,迷宫开始摇晃,狗狗可以感觉到地面下沉(sinking)。他意识到这块骨头是一个陷阱(trap),他拼命地想摆脱这个迷宫。

迷宫是的大小为N*M的矩形。迷宫里有一扇门。一开始,门被关闭,它将在第T秒钟打开一段短时间(不到1秒)。因此,小狗不得不在第T秒钟到达门口。

在每秒钟,他可以从一个砖移动到上,下,左和右相邻块之一。 一旦他进入一个砖块,这个砖块将开始下沉并在下一秒消失。他不能停留在一砖块超过一秒钟,也不能进入已经访问过的砖块。可怜的小狗可以生存吗?请帮助他。 

Input

输入由多个测试用例组成。每个测试用例的第一行包含三个整数N,M和T(1 <N,M <7; 0 <T <50),分别表示迷宫的大小和门打开的时间。接下来的N行给出迷宫布局(layout),每行包含M个字符。字符是以下之一:
'X': 一块墙,小狗不能进入;
'S': 小狗的起点;
'D': 门
'.':一个空的转。

输入以三个0结束。该测试用例不被处理。

Output

输出对于每个测试用例,如果小狗可以生存,打印一行“是”,否则打印“否”。

Sample Input

4 4 5
S.X.
..X.
..XD
....
3 4 5
S.X.
..X.
...D
0 0 0

Sample Output

NO
YES
原文地址:https://www.cnblogs.com/jj81/p/7453623.html