eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

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

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

Дано прямоугольное поле, состоящее из свободных клеток и занятых. Из каждой свободной клетки можно перейти в любую свободую, соседнюю с ней по стороне. Определить, можно ли пройти из клетки \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}".
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
4 4
A...
.##.
.##B
C...
Выходные данные #1
Yes
Источник III Международная Летняя школа программирования 2012 г. Севастополь