eolymp
bolt
Try our new interface for solving problems
Problems

Прямоугольное поле

Прямоугольное поле

Дано прямоугольное поле, состоящее из свободных клеток и занятых. Из каждой свободной клетки можно перейти в любую свободую, соседнюю с ней по стороне. Определить, можно ли пройти из клетки \textbf{A} в клетку \textbf{C}, пройдя через клетку \textbf{B}. Причем не разрешается выходить за пределы поля, проходить через занятые клетки и проходить более одного раза через одну клетку. \InputFile Два числа \textbf{R} и \textbf{C} (\textbf{1} ≤ \textbf{R}, \textbf{C} ≤ \textbf{100}) - размеры поля. Далее \textbf{R} строк по \textbf{C} символов в каждой - описание клеток. Каждая клетка может быть либо '\textbf{.}' (свободной), либо '\textbf{#}' (занятой), либо контрольной точкой '\textbf{A}', '\textbf{B}' или '\textbf{C}'. Каждый из символов '\textbf{A}', '\textbf{B}' и '\textbf{C}' встречается в описании ровно один раз. \OutputFile Вывести "\textbf{Yes}", если искомый путь существует, иначе - "\textbf{No}".
Time limit 1 second
Memory limit 64 MiB
Input example #1
4 4
A...
.##.
.##B
C...
Output example #1
Yes
Source III International Summer School Programming in Sevastopol 2012