РУҚА
8

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

ЕГЭ · Информатика · Тапсырма 8 · Динамикалық бағдарламалау
ЖоғарыФИПИ94107FҚысқа жауап≈ 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}),\quad m_{i,j}=a_{i,j}+\min(m_{i-1,j},m_{i,j-1})$$
3

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

Из всех конечных клеток выбираем наибольшее значение максимальной суммы и наименьшее значение минимальной суммы.

Жауап

Для конкретного файла: максимальная сумма и минимальная сумма, вычисленные динамическим программированием.

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

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

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

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

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

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

Путают порядок чисел в ответе.

Закрепить приёмВ теме «Динамикалық бағдарламалау» ещё 71 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 8 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Динамикалық бағдарламалау»: в ней 72 задачи, и у каждой есть такой же разбор. Тіркеу қажет емес.