Решение: Максимальная и минимальная суммы
Квадрат разлинован на $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_{4,4}=41$$Аналогично составим таблицу минимальных сумм, выбирая меньшее значение сверху и слева.
$$m_{i,j}=a_{i,j}+\min(m_{i-1,j},m_{i,j-1})$$Минимальная сумма в правой нижней клетке равна $22$.
$$m_{4,4}=22$$Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.
Где здесь ошибаются
Не учитывать монету в начальной клетке.
Не учитывать монету в конечной клетке.
Перепутать максимум и минимум при выборе пути.