Ctrl K

Переправа в прилив

Сложная
Местность разбита на квадратную сетку n × n, в клетке heights[i][j] записана её высота. Все высоты разные. Начинается прилив: в момент времени t вода стоит на уровне t по всей сетке. Находиться в клетке можно, только когда её высота не больше t. Переходить можно в соседнюю по стороне клетку, если обе клетки уже под водой; плыть можно на любое расстояние мгновенно, но выходить за пределы сетки нельзя. Вы стартуете в левом верхнем углу (0, 0). Верните наименьший момент t, когда можно добраться до правого нижнего угла (n - 1, n - 1).
Пример 1
heights=[[0, 3], [2, 1]] → 2

Правая нижняя клетка имеет высоту 1, но обе её соседки выше: путь через (1, 0) открывается при уровне 2, через (0, 1) — при уровне 3. Значит, ответ 2.

Пример 2
heights=[[0, 1, 2], [7, 8, 3], [6, 5, 4]] → 4

Путь идёт по краю: 0 → 1 → 2 → 3 → 4. Самая высокая клетка на нём — 4, раньше финиш недоступен.

Пример 3
heights=[[0]] → 0

Старт совпадает с финишем, и клетка высотой 0 под водой с самого начала.

Ограничения
  • 1 ≤ n ≤ 50
  • heights — квадратная матрица n × n
  • Значения heights — это все числа от 0 до n² − 1, каждое ровно по одному разу
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМаршрут с самым высоким узким местом СредняяСамый пологий маршрут СредняяПоследний день сухой переправы СложнаяПодальше от часовых СредняяРамка вокруг кляксы Сложная
загружаем Python…
Вход
heights=[[0, 3], [2, 1]]
Ожидается
2

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