#B0181. 逃出迷宫

逃出迷宫

题目描述

给定一个 nm 列的迷宫。

  • S 表示起点;
  • T 表示终点;
  • . 表示可以通行的空地;
  • # 表示不能进入的墙壁。

你每次可以向 上、下、左、右 四个方向之一移动一格,且不能走出迷宫,也不能走进墙壁。

请判断:是否存在一条从 ST 的合法路径。

输入格式

第一行输入两个整数 n, m,表示迷宫的行数和列数。

接下来 n 行,每行一个长度为 m 的字符串,描述迷宫。

保证:

  • 1 <= n, m <= 200
  • 迷宫中恰好有一个 S
  • 迷宫中恰好有一个 T
  • 其余字符只可能是 .#

输出格式

如果可以从 S 到达 T,输出 Yes;否则输出 No

5 6
S..#..
.##.#.
...#..
##...#
...#.T
Yes

Hint

样例解释: 一条可行路径如下(行、列均从 1 开始编号):

(1,1) -> (2,1) -> (3,1) -> (3,2) -> (3,3) -> (4,3) -> (4,4) -> (4,5) -> (5,5) -> (5,6)

这条路径中的每一步都只在上下左右四个方向中移动一格,且没有走进墙壁 #。因此从起点 S 可以到达终点 T,答案为 Yes