РУҚА
18

Минимальный и максимальный путь

ЕГЭ · Информатика · Задание 18 · Динамическое программирование
ВысокаяФИПИ3FC4D2Короткий ответ≈ 10 минут

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

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

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

Условие как в банке ФИПИ — открыть и сверить
Впишите правильный ответ.

Квадрат разлинован на N × N клеток (1 < N < 26). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку; по команде вниз – в соседнюю нижнюю. Робот разрушается при попытке выхода за границу квадрата или при попытке пересечения стены клетки. В таблице стены отмечены границами с утолщением.

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

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

Исходные данные представлены в форме электронной таблицы размером
N × N, в которой одна ячейка соответствует одной клетке квадрата. Стены, через которые Роботу нельзя проходить, отмечены в электронной таблице границами с утолщением.

Пример входных данных:

1

8

8

4

10

1

1

3

1

3

12

2

2

3

5

6

Для указанных входных данных ответом является пара чисел:

27

41

Ответ:



Ваш ответ

Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.

!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

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

2Наводящая — какие числа считатьуровень 2 из 3

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

3Прямая — фактически решениеуровень 3 из 3

Для клетки с бонусом $b$ вычисляйте $min[i][j] = b + \min(min[i-1][j], min[i][j-1])$ и $max[i][j] = b + \max(max[i-1][j], max[i][j-1])$, учитывая границы и стены.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 18 ЕГЭ, информатика

Задача из темы «Динамическое программирование»: в ней 72 задачи с ответом и разбором по шагам. В 18-м номере бланка — 49 задач.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.