Ctrl K

Три сборщика в саду

Сложная
Сад — квадратная сетка n × n, в клетке (i, j) растёт orchard[i][j] плодов. Трое сборщиков стартуют в углах (0, 0), (0, n - 1) и (n - 1, 0), каждый делает ровно n - 1 шагов и должен закончить в клетке (n - 1, n - 1). - Из (0, 0) сборщик шагает из (i, j) в (i + 1, j + 1), (i + 1, j) или (i, j + 1). - Из (0, n - 1) — в (i + 1, j - 1), (i + 1, j) или (i + 1, j + 1). - Из (n - 1, 0) — в (i - 1, j + 1), (i, j + 1) или (i + 1, j + 1). Выходить за пределы сада нельзя. Сборщик забирает все плоды из каждой клетки, где побывал, включая стартовую. Если в клетке побывали несколько сборщиков, плоды достаются только одному — второй раз их не посчитать. Верните наибольшее число плодов, которое трое могут собрать вместе.
Пример 1
orchard=[[2, 0, 5], [1, 3, 4], [6, 7, 1]] → 28

Первый сборщик идёт по диагонали: 2 + 3 + 1. Второй: (0, 2) → (1, 2) → (2, 2), собирает 5 + 4. Третий: (2, 0) → (2, 1) → (2, 2), собирает 6 + 7. Угол (2, 2) уже пуст. Итого 6 + 9 + 13 = 28.

Пример 2
orchard=[[5, 0], [0, 5]] → 10

Каждый делает один шаг в правый нижний угол; собраны обе пятёрки, сумма 10.

Ограничения
  • 2 ≤ n ≤ 1000
  • len(orchard) = len(orchard[i]) = n
  • 0 ≤ orchard[i][j] ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый большой горящий блок СложнаяПереход через пещеру СложнаяСамый длинный подъём по карте СложнаяНедели отдыха с перелётами СложнаяЯгодное поле туда и обратно Сложная
загружаем Python…
Вход
orchard=[[2, 0, 5], [1, 3, 4], [6, 7, 1]]
Ожидается
28

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 87 тестов на сервере, включая скрытые.