field и должен добраться до правого нижнего угла. Клетка со значением 1 опасна: каждый раз, когда робот на неё встаёт, он теряет 1 очко здоровья. Клетки со значением 0 безопасны. Стартовая клетка тоже считается: если она опасна, очко теряется сразу.
За один шаг робот переходит в соседнюю клетку вверх, вниз, влево или вправо. В начале у него hp очков здоровья, и он выбывает, как только здоровье падает до 0.
Верните True, если робот может дойти до правого нижнего угла, сохранив хотя бы 1 очко здоровья, иначе False.field=[[0, 1, 1], [0, 0, 1], [1, 0, 0]], hp=1 → True
Путь вниз, вправо, вниз, вправо проходит только по безопасным клеткам, и 1 очко здоровья сохраняется до конца.
field=[[0, 1], [1, 0]], hp=1 → False
Любой путь проходит через одну опасную клетку, и здоровье падает до 0.
field=[[1, 1, 0], [0, 1, 1]], hp=4 → True
Сама стартовая клетка опасна. Например, путь вправо, вправо, вниз задевает ещё одну опасную клетку в конце: всего 3, остаётся 1 очко.
len(field), len(field[0]) ≤ 50hp ≤ len(field) + len(field[0])field=[[0, 1, 1], [0, 0, 1], [1, 0, 0]], hp=1
True
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 78 тестов на сервере, включая скрытые.