К содержанию

Подтема 6 из 6 · дополнительный урок

Диагонали, ладья и число маршрутов

Когда соседей больше двух, когда приходы складывают, а не выбирают, и как сложить результаты нескольких запусков.

Диагонали

Дополнительный урок — для продвинутых. Изредка в задании 18 робот ходит по диагонали или на несколько клеток, спрашивают число маршрутов или сумму нескольких запусков. Задачи основных подтем решаются без этого урока.

Что, если разрешён ещё и шаг по диагонали вправо-вниз?

Появляется третий сосед — клетка слева сверху. Он просто добавляется в МАКС или МИН. Шаг влево-вниз добавил бы соседа справа сверху:

Каждая новая команда — ещё один сосед: диагональ вправо-вниз приходит слева сверху, влево-вниз — справа сверху.
B7=B2+МИН(A7;B6;A6)

На поле 4 × 4 минимум падает с 25 до 7: маршрут A1 → B2 → C3 → D4 собирает 2 + 1 + 2 + 2 и проходит всего четыре клетки. С диагоналями маршруты бывают разной длины. Верхняя строка и левый столбец считаются по-прежнему: у них диагонального соседа нет.

Ладья

А если робот ходит, как ладья, — сразу на несколько клеток вправо или вниз?

Тогда соседи — вся строка левее клетки и весь столбец выше неё. Ладья собирает числа только тех клеток, где останавливается, и может перепрыгивать отрицательные. В формуле — два диапазона, которые растут при растягивании:

B7=B2+МАКС($A7:A7;B$6:B6)

Начало диапазона закреплено знаком $, а конец сдвигается: в C8 формула станет =C3+МАКС($A8:B8;C$6:C7) — вся строка левее и весь столбец выше. Такие и делают диапазон растущим:

C8=C3+МАКС($A8:B8;C$6:C7)
ABCD
13-25-4
2-64-12
31-36-5
4-27-84
5
63184
7-3579
842149
9212616
Формулы в ячейках
  • A6=A1
  • B6скопирована до D6=B1+МАКС($A6:A6)
  • A7скопирована до A9=A2+МАКС(A$6:A6)
  • B7скопирована до D9=B2+МАКС($A7:A7;B$6:B6)

Ладья собирает до 16, а робот обычными шагами на этом поле — только 10: длинные ходы перепрыгивают отрицательные числа.

Число маршрутов

Сколько разных маршрутов ведёт из A1 в D4?

Каждый маршрут приходит в клетку слева или сверху, и это разные маршруты. Поэтому их число не выбирают, а складывают: =A7+B6. В старте — 1.

СтрокаABCD
11111
21234
313610
4141020

До D4 ведут 20 маршрутов. Приход сквозь стену даёт 0: со стенами между C1 и C2 и между C4 и D4 маршрутов остаётся 8.

Несколько запусков

Робота запускают дважды, и финиши должны быть разными. Какую наибольшую общую сумму он соберёт?

Монеты перед каждым запуском возвращаются, поэтому запуски независимы: берут два лучших результата разных финишей. На поле 4 × 4 со стенами из подтемы о тупиках наибольшие суммы в тупиках — 16, 23 и 32, наименьшие — 14, 23 и 28. Выпишем их в столбец и сложим два лучших:

F1=НАИБОЛЬШИЙ(F2:F4;1)+НАИБОЛЬШИЙ(F2:F4;2)

Общий максимум 32 + 23 = 55, общий минимум 14 + 23 = 37 — через . Удвоить лучший результат нельзя: это дважды один и тот же финиш.

Если различаться должны старты, таблицу считают в обратную сторону — от клетки до финиша: монета плюс лучшая из сумм соседей справа и снизу. Тогда в клетке каждого старта окажется его результат, и два лучших снова складывают.

Итого

  • Диагональтретий сосед: =B2+МИН(A7;B6;A6)
  • Ладья=B2+МАКС($A7:A7;B$6:B6)
  • Число маршрутов=A7+B6, в старте 1, сквозь стену 0
  • Несколько запусковсумма k лучших результатов разных финишей

Проверьте себя

Ответь сначала сам, потом открой ответ.

Вопрос 1
Разрешены шаги вправо, вниз и вправо-вниз, блок в A6:D9. Какая формула наибольших сумм стоит в C8?
ОтветСкрыть ответ
Ответ
=C3+МАКС(B8;C7;B7)
Вопрос 2
Сколько маршрутов вправо и вниз ведёт из угла в угол поля 3 × 3?
ОтветСкрыть ответ
Ответ
6: числа по клеткам 1, 1, 1 / 1, 2, 3 / 1, 3, 6.
Вопрос 3
Наибольшие суммы в четырёх тупиках — 70, 95, 60 и 81. Какую наибольшую сумму дадут два запуска к разным финишам?
ОтветСкрыть ответ
Ответ
176: 95 + 81.
Вопрос 4
Почему в формуле ладьи диапазон $A7:A7 при растягивании вправо расширяется?
ОтветСкрыть ответ
Ответ
Начало закреплено знаком $, а конец сдвигается вместе с формулой: в D7 будет $A7:C7.

Практика

Для проверки ответов нужен JavaScript. Условия, подсказки и решения доступны ниже.

Диагональ вправо-вниз

Робот движется из A1 в C3 по полю 3, 4, 2 / 1, 8, 5 / 6, 2, 7. Разрешены шаги вправо, вниз и по диагонали вправо-вниз, стен нет, учитываются все посещённые числа. Найди максимум и минимум.

Введите два числа через пробел: максимум, затем минимум.

Диагонали на поле 15 × 15

В файле 18-7.xlsx квадрат 15 × 15, в клетках записаны целые числа. Робот стоит в левой верхней клетке и за один ход переходит на одну клетку вправо, вниз или по диагонали вправо-вниз. Определите максимальную и минимальную суммы чисел в клетках, через которые проходит робот (включая начальную и конечную), на пути в правую нижнюю клетку.

18-7.xlsxПоле — Excel-файл, как на экзаменеExcel · 5,9 КБ

Введите через пробел максимальную сумму, затем минимальную.

Диагонали на поле без стен

В файле 18-1.xlsx квадрат 15 × 15 без стен. Робот стоит в левой верхней клетке и за один ход переходит на одну клетку вправо, вниз или по диагонали вправо-вниз, забирая монеты во всех клетках, в которых побывал. Определите максимальную и минимальную денежные суммы на пути в правую нижнюю клетку.

18-1.xlsxПоле — Excel-файл, как на экзаменеExcel · 5,9 КБ

Введите через пробел максимальную сумму, затем минимальную.

Ладья в строке

Ладья проходит строку 4, −9, 6, −2, 5 слева направо, начиная в первой клетке и останавливаясь в последней. Какую наибольшую сумму остановок она соберёт? А робот одиночными шагами?

Введите два числа через пробел: сумму ладьи, затем робота.

Маршруты на поле 5 × 5

Сколько маршрутов вправо и вниз ведёт из левой верхней клетки в правую нижнюю на поле 5 × 5 без стен?

Введите число.

Маршруты со стенами

На поле 4 × 4 из урока стоят стены между C1 и C2 и между C4 и D4. Сколько маршрутов ведёт из A1 в D4?

Введите число.

Маршруты по высотам

В файле 18-9.xlsx поле 15 × 15, в клетках — высота местности. Робот стоит в левой верхней клетке и ходит на одну клетку вправо или вниз, но только если высоты двух клеток различаются не больше чем на 50. Задание 1: определите количество различных маршрутов в правую нижнюю клетку. Задание 2: определите количество клеток, в которые робот не может попасть.

18-9.xlsxПоле — Excel-файл, как на экзаменеExcel · 5,9 КБ

Введите через пробел число маршрутов, затем число недостижимых клеток.

Два запуска из разных стартов

Результаты пяти стартов до финиша: максимумы 70, 95, 60, 95, 81, минимумы 40, 52, 33, 47, 39. Найди общие максимум и минимум за два запуска из разных стартов.

Введите два числа через пробел: максимум, затем минимум.

Два запуска к разным финишам

В файле 18-3.xlsx поле 20 × 20 со стенами. Робот начинает в левой верхней клетке и ходит вправо или вниз; в «угловых» клетках, ограниченных стенами справа и снизу, он останавливается. При повторном запуске конечная клетка должна отличаться от прежней, монеты перед запуском восстанавливаются. Определите максимальную и минимальную денежные суммы, которые робот может собрать суммарно за два запуска.

18-3.xlsxПоле — Excel-файл, как на экзаменеExcel · 6,8 КБ

Введите через пробел максимальную сумму, затем минимальную.

Три запуска из разных стартов

В файле 18-6.xlsx поле 20 × 20 со стенами. Робот может начать движение в одной из «угловых» клеток — тех, которые слева и сверху ограничены стенами, включая левую верхнюю, — и ходит вправо или вниз до правой нижней клетки. При повторных запусках начальная клетка должна отличаться от прежних, монеты перед каждым запуском восстанавливаются. Определите максимальную и минимальную денежные суммы, которые робот может собрать суммарно за три запуска.

18-6.xlsxПоле — Excel-файл, как на экзаменеExcel · 6,8 КБ

Введите через пробел максимальную сумму, затем минимальную.

В файле 18-6.xlsx поле 20 × 20 со стенами. Робот может начать движение в любой клетке, ограниченной стенами слева и сверху, включая левую верхнюю, и ходит вправо или вниз до правой нижней клетки. Начальные клетки двух запусков различаются, монеты восстанавливаются. Определите максимальную и минимальную денежные суммы, которые робот может собрать суммарно за два запуска.

18-6.xlsxПоле — Excel-файл, как на экзаменеExcel · 6,8 КБ

Введите через пробел максимальную сумму, затем минимальную.