opens размером m × n. Зал в строке r и столбце c открывается в момент opens[r][c]: войти в него можно только в момент, не меньший этого числа.
В момент 0 вы стоите в левом верхнем зале. Каждую секунду вы обязаны перейти в соседний зал — вверх, вниз, влево или вправо; оставаться на месте нельзя. Переход занимает ровно одну секунду.
Верните самый ранний момент, когда можно оказаться в правом нижнем зале, или -1, если попасть туда невозможно.opens=[[0, 1], [3, 2]] → 2
В момент 1 переходим вправо (зал открылся в момент 1), в момент 2 — вниз, в правый нижний зал, который открылся как раз в момент 2.
opens=[[0, 4], [5, 6]] → -1
Оба соседа стартового зала закрыты в момент 1, а стоять на месте нельзя — сдвинуться некуда.
opens=[[0, 1, 1], [9, 9, 6]] → 7
К моменту 2 мы в правом верхнем зале, но зал под ним откроется только в момент 6. Ходим туда-обратно между двумя верхними правыми залами; из-за чётности войти вниз получается только в момент 7.
opens[r][c] ≤ 10⁵opens[0][0] = 0opens=[[0, 1], [3, 2]]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 116 тестов на сервере, включая скрытые.