РУҚА
18

Решение: Максимальная и минимальная сумма

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

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

Для приведённого примера входных данных используется поле $4 \times 4$ без внутренних стен.

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

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

5 шагов
1

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

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

Для примера максимальные суммы по строкам имеют вид: $1, 9, 17, 21$; $11, 20, 21, 24$; $12, 23, 33, 35$; $14, 26, 38, 44$.

3

Аналогично заполняем таблицу минимальных сумм, выбирая минимум из достижимых соседей.

$$m_{i,j}=a_{i,j}+\min(m_{i-1,j},m_{i,j-1})$$
4

Минимальные суммы по строкам: $1, 9, 17, 21$; $11, 10, 11, 14$; $12, 13, 23, 16$; $14, 16, 21, 27$.

В правой нижней клетке получаем максимальную сумму $44$ и минимальную сумму $27$.

Ответ
44 27
44 27
так ответ выглядит в бланке

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

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

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

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

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

Используют только один из вариантов перехода и не сравнивают пути сверху и слева.

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

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

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

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