РУҚА
18

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

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

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

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

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

3 шага
1

Создаём две таблицы динамических значений: в одной храним максимальную сумму от начальной клетки до каждой достижимой клетки, в другой — минимальную сумму.

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

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

Для каждой конечной клетки берём рассчитанные максимальную и минимальную суммы. Итоговый максимальный ответ — наибольшее значение среди конечных клеток, итоговый минимальный ответ — наименьшее.

Ответ

Численные значения невозможно определить без содержимого прилагаемой электронной таблицы.

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

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

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

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

Ищут минимум и максимум только в правой нижней клетке, хотя конечных клеток может быть несколько.

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

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

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

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