Квадрат разлинован на 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 |
Ответ:
Сначала найдём максимальную денежную сумму. Для этого найдём максимальную денежную сумму для каждой ячейки таблицы. В ячейку А22 введем формулу: =A1.
Для каждой ячейки верхней строки это будет сумма всех ячеек слева от текущей. В ячейку В22 введем формулу =A22+B1 и скопируем до ячейки Т22.
Для каждой ячейки левого столбца это будет сумма всех ячеек сверху от текущей. В ячейку А23 введем формулу =A22+A2 и скопируем до ячейки А41.
Если слева от ячейки имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы сверху. Скопируем в эти ячейки формулу из левой строки.
Если сверху от ячейки имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы слева. Скопируем в эти ячейки формулу из верхней строки.
Для остальных ячеек будем сравнивать значение ячейки слева и значение ячейки сверху и присваивать текущей ячейке значение суммы той ячейки, в которой значение больше, и текущей ячейки.
Поскольку запусков было 4, найдем 4 максимальные итоговые суммы и сложим их.
Записав формулу
=МАКС(J27;L37;O37;Q31;S35;T41)+НАИБОЛЬШИЙ((J27;L37;O37;Q31;S35;T41);2)+НАИБОЛЬШИЙ((J27;L37;O37;Q31;S35;T41);3)+НАИБОЛЬШИЙ((J27;L37;O37;Q31;S35;T41);4)
получим значение максимальной денежной суммы — 8830.
Аналогичным образом найдём значение минимальной денежной суммы.
Заменим МАКС на МИН в формулах.
Записав формулу =МИН(J27;L37;O37;Q31;S35;T41)+НАИМЕНЬШИЙ((J27;L37;O37;Q31;S35;T41);2)+НАИМЕНЬШИЙ((J27;L37;O37;Q31;S35;T41);3)+НАИМЕНЬШИЙ((J27;L37;O37;Q31;S35;T41);4),
получим значение минимальной денежной суммы — 3510.
Ответ: 8830 3510.

