1975 破解迷宫


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

一个叫托马斯的男孩在电梯中醒来,他发现自己失忆了,除了名字什么都不记得。当电梯打开,他来到了一个陌生的地方“林间空地”(The Glade)。这里四周被高大的石头墙包围着,墙外有一群巨大的怪兽威胁着墙内人们的生命。墙内住着50位男孩,他们都被困在了绵延不绝的迷宫森林当中。一天,电梯为他们送来了一个女孩特雷莎,她是来到“林间空地”的第一个女孩。此后,迷宫逐渐开始发生变化,一切都陷入了混乱中,托马斯和特雷莎决定一起走上破解迷宫之路,找出迷宫背后令人不寒而栗的秘密。 托马斯想要先找到迷宫的出口,但在迷宫中存在一些怪兽,托马斯需要绕开这些怪兽。当然,托马斯不能破墙而出,他只能在平地上按上、下、左、右方向移动。 为了简化问题,用矩阵表示迷宫,其中的元素,’*’表示平地,’S’表示托马斯所在地,’T’表示迷宫出口,’M’表示怪兽,’X’表示墙。那么,托马斯能不能找到出口呢?

Input

第一行一个整数N (1<=N<=10),表示数据的组数。 每组数据第一行输入n (2<=n<=100)和m (2<=m<=100)两个整数,表示矩阵的行数和列数。接下来的n行,各有m个字符。字符只含有上述的’S’,’T’,’M’,’X’,’*’五种符号。

Output

对于每组数据,如果托马斯能找到出口,那么输出YES,否则,输出NO。

Sample

Input

2
2 2
**
ST
3 3
MM*
*SX
XXT

Output

YES
NO

Source: qn


Comments

There are no comments at the moment.