ex exxam.ruВсе задания
практикагенератор заданийдинамическое программированиебез регистрации

Тренажёр: Робот-сборщик монет

Робот идёт из левой верхней клетки только вправо и вниз, собирая монеты и обходя стены. Найдите максимальную и минимальную итоговые суммы.

Как читать поле

Числа в клетках — монеты. Жирные линии между клетками — стены; внешняя рамка поля тоже стена. Робот стартует в левой верхней клетке и ходит только вправо и вниз; сквозь стену пройти нельзя.

Накопленные суммы

К клетке можно прийти только сверху или слева, поэтому сумму считают по порядку — слева направо и сверху вниз:

сумма = монета + max(сумма сверху, сумма слева)
Для минимума берут min вместо max. Сосед за стеной в расчёт не идёт.

Конечные клетки и ответ

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

Как пользоваться этим режимом. Выберите уровень, посмотрите на поле со стенами и введите два числа — сначала максимум, затем минимум. Если не сходится, откройте «Показать решение»: там таблица накопленных сумм и маршруты.

Загрузка практикума…

Частые вопросы

Что тренирует этот тренажёр?
Динамическое программирование на клетчатом поле: заполнение таблицы накопленных сумм с учётом стен и поиск максимальной и минимальной итоговой суммы.
Чем отличаются уровни?
На разминке поле маленькое и без стен, на основном появляются стены, а на экзаменационном уровне поле крупное — как в задании 18.
Как проверяется ответ?
Вводятся два числа: максимум и минимум. Оба сверяются с эталонным расчётом. Если не совпало, откройте «Показать решение» — там таблица накопленных сумм и один из маршрутов.
Почему максимум и минимум считают по одной таблице?
Правило одно и то же: сумма до клетки равна монете плюс лучшая (большая или меньшая) из сумм доступных соседей. Разница только в том, что берём — max или min.

Разбор задания 18Все задания