Tinkoff Challenge - Elimination Round |
---|
Закончено |
Проснувшись со звонком будильника, аналитик Игорь заспешил на работу. Совершив все необходимые утренние процедуры и позавтракав, Игорь сел в свой автомобиль. Открыв GPS-навигатор, он увидел, что в некоторых районах его родного города Банкополиса ведутся дорожные работы, поэтому они недоступны для проезда. Однако на этом неприятности Игоря не закончились: оказалось, что в его авто сломался руль, и он может совершить не более двух поворотов по пути в свой офис в банке.
Банкополис представляет из себя клетчатое поле из n строк и m столбцов. Помогите аналитику Игорю найти путь из дома в его офис, содержащий не более двух поворотов и не посещающий клетки, в которых проводятся дорожные работы, либо установить, что такого пути не существует, и Игорю придется отчитываться перед начальством за то, что он не явился на работу. Поворотом считается смена направления движения в пути. В силу своей конструкции автомобиль Игоря может двигаться только влево, вправо, вверх и вниз, изначально Игорь может выбрать любое направление движения. Игорь все еще сонный, поэтому он нуждается в вашей помощи.
На первой строке через пробел даны два числа n и m (1 ≤ n, m ≤ 1000)— количество строк и столбцов поля соответственно.
В каждой из последующих n строк содержится m символов, описывающих соответствующую строку поля. Возможные варианты символов:
Гарантируется, что символы «S» и «T» встречаются ровно по одному разу.
Выведите «YES», если существует путь от дома Игоря до его офиса, делающий не более двух поворотов, и «NO» иначе.
5 5
..S..
****.
T....
****.
.....
YES
5 5
S....
****.
.....
.****
..T..
NO
Первый пример изображен на следующей картинке:
Во втором примере добраться из дома Игоря в его офис меньше чем за 4 поворота нельзя, а значит, не существует пути, использующего не больше 2-х поворотов. Путь из 4-х поворотов показан ниже:
Название |
---|