grid. Игрок стоит в правой нижней клетке S и хочет добраться до левой верхней клетки E. Каждая другая клетка — либо монеты (цифра от 1 до 9), либо скала X, на которую ступать нельзя.
За один ход можно сдвинуться на клетку вверх, влево или по диагонали вверх-влево. Проходя по клетке с цифрой, игрок забирает столько монет, сколько на ней написано.
Верните список из двух чисел: наибольшее число монет, которое можно собрать по пути от S до E, и количество маршрутов, которые дают именно это число, по модулю 10⁹ + 7. Если до E добраться нельзя, верните [0, 0].grid=['E31', '2X4', '15S'] → [8, 2]
Больше всего, 8 монет, дают два маршрута: S → 5 → 1 → 2 → E и S → 4 → 1 → 3 → E.
grid=['E2', '2S'] → [2, 2]
Два маршрута через двойку дают по 2, а прыжок по диагонали — 0. Максимум 2, маршрутов два.
grid=['E9X', 'XXX', 'X1S'] → [0, 0]
Стена из X отрезает старт от финиша — ответ [0, 0].
grid) = len(grid[i]) ≤ 100grid[0][0] = 'E', правая нижняя клетка — 'S'grid=['E31', '2X4', '15S']
[8, 2]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 50 тестов на сервере, включая скрытые.