РУҚА
8

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

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

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

Перед каждым запуском в каждой клетке лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету, в том числе в начальной и конечной клетках маршрута. В клетках, которые справа и снизу ограничены стенами, движение прекращается, а накопленная сумма считается итоговой. Определите максимальную и минимальную суммы среди всех возможных маршрутов из левой верхней клетки до конечной клетки маршрута.

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

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

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

4 шага
1

Построим две таблицы динамического программирования: $max[i][j]$ — максимальная сумма при достижении клетки $(i,j)$, а $min[i][j]$ — минимальная сумма.

2

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

3

Если $C[i][j]$ — номинал монеты в текущей клетке, то значение для максимума равно максимуму из допустимых предыдущих значений плюс $C[i][j]$, а значение для минимума — минимуму из них плюс $C[i][j]$.

Для всех клеток, ограниченных стенами справа и снизу, соберём значения $max[i][j]$ и $min[i][j]$. Максимальный ответ — наибольшее значение среди первых, минимальный — наименьшее среди вторых.

Ответ

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

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

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

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

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

Рассматривать только правую нижнюю клетку как конечную.

Искать максимум и минимум только по одному маршруту.

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

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

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

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