Задание 18. Информатика. Статград-22-2-1

Просмотры: 571
Изменено: 24 ноября 2024

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

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

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

Исходные данные записаны в электронной таблице. Стены отмечены утолщёнными линиями.

Пример входных данных (для таблицы размером \( 4 \times 4 )\):

50086950
30355717
321932
44128043

При указанных входных данных максимальное значение получается при движении по маршруту \( 500 - 8 - 2 \cdot 35 - 2 \cdot 1 - 2 \cdot 12 - 80 - 43 = 273\), а минимальное при движении по маршруту \( 500 - 8 - 69 - 2 \cdot 57 - 17 - 2 \cdot 32 - 2 \cdot 43 = 142 \).

Файл с данными

Исходная таблица с данными

Решение:

На экзамене рекомендуется решать это задание с помощью табличного процессора.

Python

Границы необходимо вручную добавить в кортеж кортежей boundary. Каждый кортеж внутри boundary имеет вид \( (m , \,\, n) \), где \( m \) — номер ячейки с границей, а \( n \) — номер ячейки, из которой нельзя попасть в ячейку с номером \( m \). Например, \( ( 14, \,\, 10 ) \) означает, что в ячейку с номером \( 14 \) нельзя попасть из ячейки с номером \( 10 \).