H. Телепорты
3000 мс · 256 МБ · всё или ничего
На карте есть свободные клетки ., стены # и телепорты T. Ход в соседнюю клетку по стороне стоит единицу, но переход с телепорта на любой другой телепорт бесплатен.
Найдите наименьшую стоимость пути из левой верхней клетки в правую нижнюю. Телепорты проходимы.
Веса нулевые и единичные — это 0-1 BFS: бесплатные переходы кладутся в начало дэка, платные в конец. Чтобы не перебирать пары телепортов, добавьте одну служебную вершину «телепортная сеть»: вход в неё с телепорта стоит ноль и выход из неё на телепорт тоже.
Формат ввода
Первая строка содержит числа и ().
Далее идут строк по символов ., #, T.
Формат вывода
Одно число — наименьшая стоимость или .
Примеры
ввод
3 3 T## ### ##T
вывод
0
ввод
1 5 T...T
вывод
0
Войдите, чтобы отправлять решения.