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