/ WHOJ / 题库 /

追杀II

追杀II

题目背景

Smart 与 Tommy 正在玩 \(\texttt{Minecraft Hunter Game}\)。在追杀时,Smart 不小心掉进了一个像迷宫一样的洞穴,他必须尽快出来。

题目描述

Smart 手上有一个洞穴的地图,上面已经标出起点与终点,其中字符 \(\texttt{'S'}\) 表示起点,字符 \(\texttt{'T'}\) 表示终点,字符 \(\texttt{'\#'}\) 表示墙壁,字符 \(\texttt{'.'}\) 表示平地。Smart 需要从 \(\texttt{'S'}\) 出发走到 \(\texttt{'T'}\),每次只能向上下左右相邻的位置移动,不能走出地图,也不能穿过墙壁,每个点只能通过一次。

但是 Smart 需要你将正确路线在地图中标出来 ( 具体看样例 ) .

格式

输入格式

第一行两个整数 \(n,m\),表示地图的长和宽 .

接下来 \(n\) 行 , 表示 Smart 掉进的洞穴的地图.

输出格式

第一行一个字符串 , 表示 Smart 是否能从迷宫中出来,能则输出 \(\texttt{Yes}\) ,不能则输出 \(\texttt{No}\)

如果能,输出用 \(\texttt{'m'}\) 标出路线后的矩阵 .

样例1

样例输入1

3 4
S##T
....
###.

样例输出1

Yes
S##T
###.

限制

对于 \(100\%\) 的数据 \(2<n,m ≤ 40\)
\(\texttt{S,T}\) 本身不用替换 .

数据保证 有且仅有 一条路线可到终点.