4178: 救救K同学
Memory Limit:128 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:83
Solved:23
Description
K同学在走动的时候发现在自己的地下发现了一个迷宫,当他进入到迷宫以后发现,入口发现已经封住了。
不过在他自己的脚下发现了一个提示:
这是一个无限的迷宫,你只要走到足够远的地方,你就能顺利的掏出迷宫里。
在迷宫当中k同学可以像上下左右四个方向移动。
然而其中"."代表可以通的路;"#"代表墙,不可以通行;"S"代表k同学的起点。
走出当前地图的时候,他会发现他的前面还会出来一个新的迷宫,这个迷宫跟上一个迷宫一样。
Input
第一行有两个数字n和m,表示迷宫有n行m列(n<=1500, m<=1500)
接下来的n行,每行都有m个字符:"#"表示墙,"S"表示k同学起点,"."表示可以通网的路。
Output
输出只有一行,如果K同学可以逃出迷宫请你输出"Yes".否则请输出"No";
Sample Input Copy
样例1:
5 4
##.#
##S#
#..#
#.##
#..#
样例2
5 4
##.#
##S#
#..#
..#.
#.##
Sample Output Copy
样例1:
Yes
样例2:
No
HINT
数据范围:1, 10, 20, 40, 60, 100, 500, 1000, 1200, 1500, 1500
样例1解释:
从s开始k同学一直往上或者往下走,他就可以一直能够往下走,走到边界就可以在新的复制过的地图里面接着往前走,因为往下走的,所以在新的地图里面从上在往下走,
那么他就可以一直往下走,走的越来越远,他就可以成功的逃出迷宫了。
样例2解释:
从s往下走的时候到(5,2)的时候,接着往下走不了了,因为(1,2)是个墙。如果从(4,1)往左边走的时候,虽然可以走,但是新的地图当中你只能移动一个地方。
从s往上走的时候到(1,3)。接着往上走,走到新的地图的时候他遇到了(5,3)的墙。依然走不动。所以没有别的地方走了。所以走不出迷宫。