Ctrl K

Самое рыбное озеро

Средняя
Карта участка задана матрицей pond. Клетка со значением 0 — суша, клетка с положительным значением — вода, и это значение равно числу рыб в ней. Рыбак выбирает любую водную клетку для старта. Дальше он может переходить в соседнюю водную клетку (вверх, вниз, влево или вправо; по диагонали нельзя) и вылавливать всю рыбу в каждой клетке, где побывал. По суше ходить нельзя. Верните наибольшее число рыб, которое можно поймать при лучшем выборе стартовой клетки, или 0, если воды на карте нет.
Пример 1
pond=[[3, 0, 2], [1, 0, 5], [0, 4, 0]] → 7

Озёр три: клетки 3 и 1 дают 4 рыбы, клетки 2 и 5 — 7 рыб, одиночная клетка внизу — 4. Лучший улов — 7.

Пример 2
pond=[[0, 0], [0, 0]] → 0

Воды нет вовсе, поймать нечего.

Пример 3
pond=[[1, 2, 0], [0, 3, 0], [6, 0, 0]] → 6

Клетки 1, 2 и 3 связаны и дают 6. Клетка 6 касается клетки 3 только углом, поэтому это отдельное озеро — тоже 6.

Ограничения
  • 1 ≤ число строк, число столбцов ≤ 10
  • 0 ≤ pond[i][j] ≤ 10
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОсушение замкнутых прудов СредняяУчастки суши на карте СредняяСамый большой лесной участок СредняяПоле, разрезанное чертами СредняяСуша без выхода к краю Средняя
загружаем Python…
Вход
pond=[[3, 0, 2], [1, 0, 5], [0, 4, 0]]
Ожидается
7

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