← вернуться к уроку · Практика: Обходы: в глубину и в ширину
Встретиться посередине
8000 мс · 512 МБ · всё или ничего
В лабиринте отмечены две стартовые клетки A и B.
Найдите свободную клетку, достижимую от обеих, у которой сумма расстояний до них наименьшая, и выведите эту сумму. Если такой клетки нет, выведите -1.
Формат ввода
В первой строке числа и от до . В следующих строках по символов: точки, решётки и ровно по одному символу A и B.
Формат вывода
Одно число.
Примеры
ввод
1 2 AB
вывод
1
Примечание
Два обхода — от A и от B — дают две таблицы расстояний. Дальше достаточно одного прохода по полю.
Войдите, чтобы отправлять решения.