ГлавнаяСборникиТурнирыРазделыФорумыУчастникиПечатьПомощьО системе

Разделы > 111. Поиск в ширину > задача:


Лабиринт

Задачи раздела

• Бонни и Клайд
• Лабиринт
• Макс и выбор места
• Расстояния — 1

Обратная связь

Если у вас есть предложения или пожелания по работе Contester, посетите форум сайта www.contester.ru.

Лимит времени 2000/2000/2000/2000 мс. Лимит памяти 65536/65536/65536/65536 Кб.

Лабиринт
Лабиринт
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Вам дана карта лабиринта. Вы находитесь в левой верхней клетке и хотите попасть в правую нижнюю. Перемещаться можно только в соседние по стороне свободные клетки.

Выведите кратчайший путь через лабиринт. Гарантируется, что такой путь существует.

Входные данные

Первая строка содержит целые числа H и W (2 ≤ H, W ≤ 100) — соответственно высоту и ширину лабиринта.

Следующие H строк описывают лабиринт. Каждая из них содержит W символов '.' или '#'. Символ '.' обозначает свободную клетку, символ '#' — непроходимую клетку.

Выходные данные

Выведите H строк по W символов в каждой — описание лабиринта, аналогичное таковому во входных данных, с помеченным символами '+' кратчайшим путём от левой верхней клетки до правой нижней.

Примеры

Входные данные
5 6
......
#####.
......
.#.###
......
Выходные данные
++++++
#####+
..++++
.#+###
..++++
Входные данные
6 7
.......
.##.##.
..#..#.
.###.#.
...#.##
.#.#...
Выходные данные
++++...
.##+##.
..#++#.
.###+#.
...#+##
.#.#+++
Входные данные
3 13
.#.#...#.#...
.#...#...#.#.
...#.#.#...#.
Выходные данные
+#.#+++#.#+++
+#+++#+++#+#+
+++#.#.#+++#+
Для отправки решений необходимо выполнить вход.

www.contester.ru