Ctrl K

Шаги до ближайшего выхода

Средняя
План этажа задан прямоугольной таблицей plan. В каждой клетке одно из трёх значений: - -1 — стена; - 0 — выход; - 2147483647 — пустая комната. За один шаг можно перейти в соседнюю по стороне клетку, сквозь стены ходить нельзя. Запишите в каждую пустую комнату число шагов до ближайшего выхода. Если ни до одного выхода не добраться, оставьте в комнате 2147483647. Верните заполненный план plan.
Пример 1
plan=[[2147483647, 2147483647, 0], [-1, 2147483647, -1], [2147483647, 2147483647, 2147483647]] → [[2, 1, 0], [-1, 2, -1], [4, 3, 4]]

Ответ — [[2, 1, 0], [-1, 2, -1], [4, 3, 4]].

Пример 2
plan=[[0, -1, 2147483647]] → [[0, -1, 2147483647]]

Правая комната отрезана стеной, в ней остаётся 2147483647: [[0, -1, 2147483647]].

Ограничения
  • 1 ≤ число строк, число столбцов ≤ 250
  • Каждая клетка равна -1, 0 или 2147483647
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОсушение замкнутых прудов СредняяУчастки суши на карте СредняяДождь стекает в оба моря СредняяОстановится ли шарик в цели СредняяКратчайший путь катящегося шарика Средняя
загружаем Python…
Вход
plan=[[2147483647, 2147483647, 0], [-1, 2147483647, -1], [2147483647, 2147483647, 2147483647]]
Ожидается
[[2, 1, 0], [-1, 2, -1], [4, 3, 4]]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 34 теста на сервере, включая скрытые.