РУҚА
8

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

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

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

Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клеткам маршрута Робота.

Определите максимальную и минимальную денежные суммы, которые может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. Исходные данные находятся в прилагаемом файле: электронная таблица размером $N \times N$, в каждой ячейке которой указана стоимость монеты, а внутренние и внешние стены обозначены утолщёнными линиями.

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

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

4 шага
1

Считайте из электронной таблицы размеры квадрата, стоимости монет и сведения о стенах.

2

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

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

Аналогично вычислите минимальную сумму, заменив максимум минимумом.

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

В ответ запишите значения максимальной и минимальной суммы в правой нижней клетке. Числовые данные приложенного файла в условии недоступны, поэтому конкретные значения вычислить невозможно.

Ответ

Определяется по данным приложенной электронной таблицы

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

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

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

Разрешать переход через внутреннюю стену.

Перепутать порядок вывода максимальной и минимальной сумм.

Использовать только один массив и тем самым потерять значение для второго типа оптимизации.

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

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

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

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