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