Решение: Максимальная и минимальная суммы
Квадрат разлинован на $N \times N$ клеток ($1 < N < 30$). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде «вправо» Робот перемещается в соседнюю правую клетку, по команде «вниз» — в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота.
В «угловых» клетках поля — тех, которые справа и снизу ограничены стенами, Робот не может продолжать движение, поэтому накопленная сумма считается итоговой. Таких конечных клеток на поле может быть несколько, включая правую нижнюю клетку поля. При разных запусках итоговые накопленные суммы могут различаться.
Определите максимальную и минимальную денежные суммы среди всех возможных итоговых сумм, которые может собрать Робот, пройдя из левой верхней клетки в конечную клетку маршрута. Исходные данные представляют собой электронную таблицу размером $N \times N$, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщёнными линиями.
Решение по шагам
3 шагаРобот начинает в левой верхней клетке и забирает монету из неё. Для каждой последующей клетки рассматриваем только переходы слева и сверху, если между клетками нет стены.
$$M_{i,j}^{\max}=a_{i,j}+\max(M_{i-1,j}^{\max},M_{i,j-1}^{\max})$$Аналогично вычисляем минимальную возможную сумму для каждой клетки.
$$M_{i,j}^{\min}=a_{i,j}+\min(M_{i-1,j}^{\min},M_{i,j-1}^{\min})$$Для таблицы из условия максимальная сумма по маршруту равна $41$, а минимальная сумма по маршруту равна $22$.
$$S_{\max}=41,\quad S_{\min}=22$$Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не учитывать монету в начальной или конечной клетке.
Перепутать порядок вывода максимальной и минимальной сумм.
Разрешить переход через внутреннюю стену.