РУҚА
18

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

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

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

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

В «угловых» клетках поля — тех, которые справа и снизу ограничены стенами, — Робот не может продолжать движение, поэтому накопленная сумма считается итоговой. Таких конечных клеток на поле может быть несколько, включая правую нижнюю клетку поля. При разных запусках итоговые накопленные суммы могут различаться.

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

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

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

5 шагов
1

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

2

Если в клетку можно попасть из клетки слева, соответствующее значение получают добавлением монеты текущей клетки к значению в левой клетке.

3

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

4

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

После обработки всего поля рассматривают все клетки, ограниченные стенами справа и снизу. Среди них выбирают максимальное значение из таблицы максимумов и минимальное значение из таблицы минимумов.

Ответ

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

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

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

Учитывают только правую нижнюю клетку, игнорируя другие конечные клетки.

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

Не прибавляют монету начальной или конечной клетки.

Для минимальной суммы используют максимум, а для максимальной — минимум.

Считают клетку конечной только по положению на внешней границе, не проверяя наличие стен справа и снизу.

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

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

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

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