РУҚА
18

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

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

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

В ответе укажите два числа: сначала максимальную сумму, затем минимальную.

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

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

4 шага
1

Робот может попасть в каждую клетку только из клетки сверху или из клетки слева.

$$S_{i,j}=a_{i,j}+S_{\text{предыдущая клетка}}$$
2

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

$$\mathrm{max}_{i,j}=a_{i,j}+\max(\mathrm{max}_{i-1,j},\mathrm{max}_{i,j-1})$$
3

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

$$\mathrm{min}_{i,j}=a_{i,j}+\min(\mathrm{min}_{i-1,j},\mathrm{min}_{i,j-1})$$

После заполнения таблиц берём оба значения в правой нижней клетке.

Ответ

Максимальная сумма — значение max в правой нижней клетке, минимальная сумма — значение min в правой нижней клетке.

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

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

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

Использовать максимум для обеих таблиц.

Разрешить перемещение вверх или влево.

Сложить все монеты таблицы вместо суммы по одному маршруту.

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

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

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

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