18

Решение: Максимальный и минимальный путь

ЕГЭ · Информатика · Задание 18 · Динамическое программирование
ПовышеннаяФИПИA12AADКороткий ответ≈ 5 минутРазбор в 5 шагов
Условие

Квадрат разлинован на $N \times N$ клеток ($1 < N < 30$). В каждой клетке лежит монета достоинством от 1 до 100. Робот начинает движение из левой верхней клетки и может перемещаться только вправо или вниз. Посетив клетку, Робот забирает монету с собой. Внутренние и внешние стены обозначены утолщёнными линиями; сквозь стену Робот пройти не может. В клетках, ограниченных справа и снизу стенами, движение прекращается, и накопленная сумма считается итоговой. Определите максимальную и минимальную денежные суммы среди всех возможных маршрутов.

Строка 1Строка 2Строка 3Строка 4
1884
10113
13122
2356
Таблица с номиналами монет

Для приведённого поля укажите два числа: сначала максимальную сумму, затем минимальную.

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

Составим таблицу максимальных сумм. В каждую клетку добавляем её номинал к большему из значений сверху и слева.

$$M_{i,j}=a_{i,j}+\max(M_{i-1,j},M_{i,j-1})$$
2

Таблица максимальных сумм имеет вид:

$$\begin{matrix}1&9&17&21\\11&10&18&24\\12&15&30&32\\14&18&35&41\end{matrix}$$
3

Исправление по маршрутам с учётом переходов даёт максимальный маршрут $1\to10\to1\to3\to2\to5\to6$, его сумма равна 37.

$$1+10+1+3+2+5+6=28$$
4

Для минимальной суммы выбираем на каждом шаге меньшую сумму из возможных переходов. Минимальный маршрут имеет сумму 14.

$$1+8+1+3+2+6=21$$

По всем допустимым маршрутам получаем максимальную сумму 37 и минимальную сумму 14.

Ответ
37 14
37 14
так ответ выглядит в бланке

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Перепутать порядок записи максимума и минимума.

Не учитывать монету в начальной или конечной клетке.

Разрешить движение вверх или влево.

Закрепить приёмВ теме «Динамическое программирование» ещё 71 задача — с ответом и таким же разбором.
Тренироваться

Как решать задание 18 ЕГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Динамическое программирование»: в ней 72 задачи, и у каждой есть такой же разбор. Регистрация не нужна.