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

ФИПИ · ЕГЭ · все форматы ответа · 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
СВОЙСТВА ЗАДАНИЯ
Тип ответа:Краткий ответ
Номер: 8A7C55
НЕ РЕШЕНО Ответить

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

Ответ: 1996 575

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

КлеткаЧислоLH
A1656565
B1319696
A2137878
B276154172

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

ФинишМинимумМаксимум
R155751758
H209341549
T207171996

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

СтрокаМинимальный: столбцыСуммаМаксимальный: столбцыСумма
1A65A–L567
2A13L6
3A61L66
4A–G184L–N181
5G7N–S414
6G17S54
7G–H20S11
8H7S60
9H6S52
10H–I24S58
11I5S70
12I–N53S38
13N24S60
14N–R75S70
15R14S30
16—0S62
17—0S61
18—0S–T89
19—0T36
20—0T11
Итого5751996

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

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

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

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

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

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

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

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