해결한 사람
0
명
정답률
0.00
%
시간 제한
3000
ms
메모리 제한
245
MB
자명종 소리에 잠에서 깬 재무 분석가 Igor는 서둘러 출근 준비를 했다. 아침을 먹고 차에 탔다. 안타깝게도 GPS 내비게이터를 켜 보니, 자신이 사는 도시 Bankopolis의 일부 도로가 도로 공사로 폐쇄되어 있었다. 게다가 Igor의 자동차는 운전대에 문제가 있어서 은행 사무실로 가는 길에 최대 두 번만 방향을 바꿀 수 있다.
Bankopolis는 n개의 행과 m개의 열로 이루어진 격자 모양이다. Igor는 집에서 은행까지 방향 전환을 최대 두 번만 하며 도로 공사가 있는 칸을 지나지 않는 길을 찾거나, 그런 길이 불가능하여 재택근무를 해야 한다고 판단해야 한다. 방향 전환은 이동 방향이 바뀌는 것을 말한다. Igor의 자동차는 왼쪽, 오른쪽, 위쪽, 아래쪽으로만 이동할 수 있다. Initially Igor은 어느 방향이든 선택할 수 있다. Igor는 아직 졸리므로 당신이 도와주어야 한다.
첫 번째 줄에 두 정수 n과 m (1 ≤ n, m ≤ 1000) — 격자의 행 수와 열 수가 주어진다.
다음 n개의 각 줄에는 격자의 해당 행을 나타내는 m개의 문자가 주어진다. 다음 문자들이 나타날 수 있다.
"S"과 "T"이 각각 정확히 한 번씩 등장함이 보장된다.
유일한 줄에 Igor의 집과 Igor의 사무실 사이에 방향 전환을 최대 두 번만 하는 경로가 있으면 "YES"을 출력하고, 그렇지 않으면 "NO"을 출력한다.
5 5
..S..
****.
T....
****.
.....
YES5 5
S....
****.
.....
.****
..T..
NO첫 번째 예제는 다음 그림에 나와 있다.

두 번째 예제에서는 방향을 4번보다 적게 바꾸어 Igor의 사무실에 도달하는 것이 불가능하므로, 방향을 최대 2번만 바꾸는 경로는 존재하지 않는다. 방향을 정확히 4번 바꾸는 경로는 다음 그림에 나와 있다.
