Квадрат разлинован на N х N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз.
Команда вправо перемещает Робота в соседнюю правую ячейку, команда вниз — в соседнюю нижнюю. В случае если Робот выйдет за границы данного квадрата или пересечет внутренние границы — он разбивается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Ваша задача — найти максимальную и минимальную суммы монет, собранные исполнителем (это относится и к начальной, и к последней ячейке квадрата), если Робот начинает движение из левой верхней ячейки в конечную остановку. Конечная остановка робота — клетка, ограниченная стенкой справа и снизу. Из этой клетки робот ходить дальше не может, а накопленная сумма считается итоговой.
В ответ укажите 2 числа без пробела — сначала максимальную сумму, затем минимальную.
Решение. Сначала найдём максимальную денежную сумму. Для этого найдём максимальную денежную сумму для каждой ячейки таблицы. Для каждой ячейки верхней строки это будет сумма всех ячеек слева от текущей. Для каждой ячейки левого столбца это будет сумма всех ячеек сверху от текущей. В ячейку A18 запишем формулу =СУММ($A$1:A1). Скопируем эту формулу во все ячейки в диапазоне B18:P18 и в диапазоне A18:A33. Для остальных ячеек будем сравнивать значение ячейки слева и значение ячейки сверху и присваивать текущей ячейке значение суммы той ячейки, в которой значение больше, и текущей ячейки. В ячейку B19 запишем формулу =B2+МАКС(A19;B18) и скопируем эту формулу во все оставшиеся ячейки диапазона B19:P33.
Для ячеек E25:E32, поскольку слева от них имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы сверху, в ячейку E25 запишем формулу =E24+E8 и скопируем её во все ячейки диапазона E25:E32.
Для ячеек J22:J27, поскольку слева от них имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы сверху, в ячейку J22 запишем формулу =J21+J5 и скопируем её во все ячейки диапазона J22:J27.
Для ячеек O23:O31, поскольку слева от них имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы сверху, в ячейку O23 запишем формулу =O22+O6 и скопируем её во все ячейки диапазона O23:O31.
Для ячеек B33:D33, поскольку сверху от них имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы слева, в ячейку B33 запишем формулу =A33+B16 и скопируем её во все ячейки диапазона B33:D33.
Для ячеек F28:I28, поскольку сверху от них имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы слева, в ячейку F28 запишем формулу =E28+F11 и скопируем её во все ячейки диапазона F28:I28.
Для ячеек K32:N32, поскольку сверху от них имеется внутренняя стенка, максимальная денежная сумма вычисляется как сумма текущей ячейки и суммы слева, в ячейку K32 запишем формулу =E28+F11 и скопируем её во все ячейки диапазона =J32+K15.
Поскольку робот может остановиться в любой угловой клетке, введем формулу:
=МАКС(P33;N31;I27;D32)
и получим значение максимальной денежной суммы — 2010.
Аналогичным образом найдём значение минимальной денежной суммы. Поскольку робот может остановиться в любой угловой клетке, введем формулу:
=МИН(P33;N31;I27;D32)
и получим значение минимальной денежной суммы — 613.