Ctrl K

Подъём слева направо

Средняя
Дана матрица field из положительных чисел размером m × n. Начать можно с любой клетки первого (левого) столбца. Из клетки (r, c) разрешено перейти в одну из клеток следующего столбца: (r - 1, c + 1), (r, c + 1) или (r + 1, c + 1) — но только если число в новой клетке строго больше, чем в текущей. Верните наибольшее число ходов, которое можно сделать.
Пример 1
field=[[1, 6, 2, 9], [4, 3, 7, 8], [2, 5, 1, 3]] → 3

Стартуем с 1 в левом верхнем углу: 1 → 6 → 7 → 9 (вправо, вправо-вниз, вправо-вверх) — три шага до правого края.

Пример 2
field=[[5, 4], [6, 2]] → 0

Оба числа во втором столбце меньше любого числа в первом, сделать ход нельзя.

Пример 3
field=[[3, 4, 1], [9, 9, 9]] → 2
Ограничения
  • 2 ≤ m, n ≤ 1000
  • 4 ≤ m · n ≤ 10⁵
  • 1 ≤ field[i][j] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол СредняяСамый большой сплошной квадрат СредняяЛучшее место для пушки СредняяШаги до ближайшего нуля Средняя
загружаем Python…
Вход
field=[[1, 6, 2, 9], [4, 3, 7, 8], [2, 5, 1, 3]]
Ожидается
3

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