Решение: Максимальная и минимальная сумма
Квадрат разлинован на $N \times N$ клеток ($1 < N < 30$). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде «вправо» Робот перемещается в соседнюю правую клетку, по команде «вниз» — в соседнюю нижнюю. Квадрат ограничен внешними стенами. Между соседними клетками квадрата также могут быть внутренние стены. Сквозь стену Робот пройти не может.
Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота.
Определите максимальную и минимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. Исходные данные представляют собой электронную таблицу размером $N \times N$, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщёнными линиями.
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| 1 | 8 | 8 | 4 |
| 10 | 1 | 1 | 3 |
| 1 | 3 | 12 | 2 |
| 2 | 3 | 5 | 6 |
Решение по шагам
3 шагаСоставим таблицу максимальных сумм. В каждой клетке прибавляем её значение к большему из результатов для верхней и левой клеток.
$$M_{4,4}=6+\max(M_{3,4},M_{4,3})=6+\max(26,35)=41$$Составим таблицу минимальных сумм. В каждой клетке прибавляем её значение к меньшему из результатов для верхней и левой клеток.
$$m_{4,4}=6+\min(m_{3,4},m_{4,3})=6+\min(16,28)=22$$Следовательно, из левой верхней клетки в правую нижнюю можно собрать максимальную сумму 41 и минимальную сумму 22.
Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не учитывать монеты в начальной или конечной клетке.
Для максимума выбирать меньшую сумму, а для минимума — большую.
Складывать значения только одного маршрута вместо сравнения всех допустимых путей.