Задание EGEINF4392F7: Оптимальный маршрут по клетчатому полю

ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий

Открыть решение ↓ Ошибка или пожелание

Тип задачи: Оптимальный маршрут по клетчатому полю.

Учебные темы: Двумерные массивы (матрицы). Алгоритмы обработки двумерных массивов: заполнение двумерного числового массива по заданным правилам, поиск элемента в двумерном массиве, вычисление максимума (минимума) и суммы элементов двумерного массива, перестановка строк и столбцов двумерного массива; Динамическое программирование как метод решения задач с сохранением промежуточных результатов. Задачи, решаемые с помощью динамического программирования: вычисление рекурсивных функций, подсчёт количества вариантов, задачи оптимизации; Анализ данных с помощью электронных таблиц. Вычисление суммы, среднего арифметического, наибольшего (наименьшего) значения диапазона. Вычисление коэффициента корреляции двух рядов данных. Построение столбчатых, линейчатых и круговых диаграмм. Построение графиков функций. Подбор линии тренда, решение задач прогнозирования. Решение задач оптимизации с помощью электронных таблиц.

Впишите правильный ответ.

Рисунок из условия ФИПИ

Задание выполняется с использованием прилагаемых
файлов.

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

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

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

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

 

Исходные данные представляют собой электронную таблицу размером N × N, каждая ячейка которой соответствует клетке квадрата. Внутренние и внешние стены обозначены утолщёнными линиями.

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

1

8

8

4

10

1

1

3

1

3

12

2

2

3

5

6

 

Скачать файл задания (ODS, ФИПИ)


i
СВОЙСТВА ЗАДАНИЯ
Тип ответа:Краткий ответ
Номер: 4392F7
НЕ РЕШЕНО Ответить

Решение задания EGEINF4392F7

Ответ: 1927 675

Решение.
Откроем приложенную электронную таблицу. Исходные числа занимают диапазон A1:T20: поле имеет размер 20 × 20. Начинаем в A1 и движемся только вправо или вниз. Число в каждой посещённой клетке, включая начало и финиш, прибавляется к сумме.
Финиш разрешён в любой угловой клетке в смысле условия: из неё нельзя сделать ни шаг вправо, ни шаг вниз. Учитываем внутренние стены и внешнюю границу поля. Останавливаться в произвольной промежуточной клетке нельзя.
В исходном поле найдено 48 внутренних границ между соседними клетками, через которые проход запрещён.
Будем хранить для каждой достижимой клетки две величины: L — наименьшую сумму от A1 до неё, H — наибольшую. Для A1 обе величины равны числу в самой A1: 20.
В любую другую клетку можно прийти только из соседней слева или сверху. Переход слева разрешён, если нет стены между этими клетками; переход сверху — если нет стены над текущей клеткой. Недостижимого соседа не используем.
Если оба входа разрешены, прибавим число текущей клетки к меньшей из двух величин L и к большей из двух величин H. Если допустимый вход один, берём только его. Если нет ни одного, помечаем клетку «нет пути», а не нулём.
Это динамическое программирование: любой путь в текущую клетку заканчивается одним из допустимых входов. Поэтому выбор лучшего пути до предшественника перебирает все возможности последнего шага. Обрабатывая строки сверху вниз, а клетки в строке слева направо, получаем точные минимум и максимум для всего поля.
Для расчёта в редакторе таблиц создадим под исходными числами блок максимумов с началом в A22. В A22 введём =A1. Например, значение для B2 окажется в B23: при двух допустимых входах формула имеет вид =B2+МАКС(A23;B22). Если вход перекрыт стеной или ведёт из недостижимой клетки, соответствующую ссылку исключаем. Начальную клетку общей формулой не заменяем.
Первую строку заполняем только по входу слева, первый столбец — только по входу сверху. После каждой стены отдельно проверяем достижимость. Для минимумов создадим такой же блок, заменив МАКС на МИН и сохранив все ограничения переходов. Нельзя протянуть общую формулу через стены без исправления ссылок.
Контрольные значения начала таблицы:

КлеткаЧислоLH
A1202020
B1507070
A2688888
B236106124

Значения в разрешённых конечных клетках:

ФинишМинимумМаксимум
R156751809
L208261927
T208391895

Среди достижимых конечных клеток наименьшее значение L равно 675, наибольшее значение H равно 1927. Они могут достигаться в разных тупиках.
Проверка. Восстановим оба оптимальных маршрута, каждый раз выбирая предшественника, давшего записанную сумму. Ниже указаны посещённые столбцы по строкам; диапазон включает оба края. Между строками спускаемся в том столбце, в котором закончился предыдущий отрезок. Знак «—» означает, что маршрут завершился раньше.

СтрокаМинимальный: столбцыСуммаМаксимальный: столбцыСумма
1A–D125A20
2D–E83A68
3E–H55A64
4H34A75
5H23A21
6H14A50
7H8A75
8H–I35A80
9I9A9
10I18A76
11I–J14A56
12J7A39
13J–M37A85
14M–R160A84
15R53A100
16—0A–C237
17—0C72
18—0C–D161
19—0D–I384
20—0I–L171
Итого6751927

Все переходы этих маршрутов разрешены. Суммы чисел исходного файла дают 675 и 1927; начальная и конечная клетки учтены ровно один раз. Таблица динамического программирования доказывает, что меньшая и большая суммы невозможны.
По условию сначала записываем максимум, затем минимум.
Ответ: 1927 675.

Помочь улучшить сайт

Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINF4392F7.

Сообщение увидит только команда сайта: на странице оно не публикуется.

Комментарии к решению

Комментарии видны всем посетителям сайта.

Комментариев пока нет. Будьте первым.

Чтобы оставить комментарий, войдите или зарегистрируйтесь.