18

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

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

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

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

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

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

4 шага
1

Разобьём задачу на подзадачи: для каждой клетки найдём минимальную и максимальную сумму бонусов, которую можно получить при попадании в эту клетку.

2

В начальной клетке обе величины равны её бонусу. Для каждой следующей клетки рассматриваем только те клетки сверху и слева, с которыми нет стены.

3

Если $b_{i,j}$ — бонус клетки, то для доступных переходов вычисляем минимум и максимум среди значений соседних клеток, после чего прибавляем $b_{i,j}$.

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

Ответ

Минимальная и максимальная суммы из правой нижней клетки таблицы

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

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

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

Переходить через границу, отмеченную утолщением.

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

Записать максимальную сумму перед минимальной.

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

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

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

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