#P1206. 灵魂互换
灵魂互换
说明
小崧白天是勤勤恳恳做实验的学生,晚上是拯救世界的(中二)魔法少年;小南白天是忙忙碌碌的程序员,晚上是天赋奇高的(通宵)修仙者。
仙女钰钰今天犯了一个大错,她不小心把师父东东教的灵魂交换咒用在了小崧和小南身上!
“这可怎么办呀,幸好现在是晚上,要在这两个人睡醒之前把灵魂换回去,可不能让师父发现了,不然又要罚我抄书了。”钰钰心想。
钰钰念动咒语使小崧和小南的灵魂与身体分离,可是,钰钰的脑子转的不够快,无法快速的找到一条从小崧到小南的路径,你能帮帮她吗?
注意,从小崧到小南的路径不能超过两个转弯,不然灵魂就会受到惊吓醒来,这可不是钰钰想看到的结果。
灵魂处在一个n*m的矩阵中,”S”代表小崧的位置,”T”代表小南的位置,”.”代表灵魂可以经过的地方,”*”代表灵魂经过就会消散的地方,钰钰只能使灵魂向上下左右四个方向移动,起初灵魂可以朝向任意方向,找到是否有一条路径从小崧到小南且满足只有两个转弯。
输入格式
第一行两个数字n(2<=n<=1000)和m(2<=m<=1000),代表矩阵行数和列数;
接下来n行每行有m个字符,各字符表示如下:
S——小崧的位置
T——小南的位置
.——灵魂可以经过的地方
*——灵魂经过就会消散的地方
保证S和T只出现一次。
输出格式
只输出一行
如果能找到一条从小崧到小南且不超过两个转弯的路径,输出”YES”,否则输出”NO”。
样例
5 5
..S..
****.
T....
****.
.....
YES
样例
5 5
S....
****.
.....
.****
..T..
NO
提示
第一个样例如图: