m × n. В каждой клетке нарисована стрелка, указывающая, куда идти дальше:
- 1 — вправо, в arrows[i][j + 1];
- 2 — влево, в arrows[i][j - 1];
- 3 — вниз, в arrows[i + 1][j];
- 4 — вверх, в arrows[i - 1][j].
Стрелка может указывать и за пределы поля. Робот стартует в левой верхней клетке (0, 0) и всегда идёт строго по стрелкам. Нужно, чтобы он дошёл до правой нижней клетки (m - 1, n - 1); путь не обязан быть кратчайшим.
Стрелку в любой клетке можно перекрасить в любое из четырёх направлений, это стоит 1. Верните минимальное число перекрасок, после которых робот доберётся до цели.arrows=[[1, 3], [2, 2]] → 0
Из (0, 0) идём вправо, из (0, 1) — вниз и попадаем в правый нижний угол. Перекрашивать ничего не надо.
arrows=[[4, 4], [4, 4]] → 2
Все стрелки смотрят вверх, за край поля. Перекрасим (0, 0) на «вправо», а (0, 1) на «вниз» — две перекраски.
arrows=[[3, 1, 1], [1, 1, 4], [2, 2, 2]] → 1
arrows[i][j] ∈ {1, 2, 3, 4}arrows=[[1, 3], [2, 2]]
0
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.