Ctrl K

Засыпать одну клетку

Сложная
Карта архипелага — квадратная сетка land размером n × n: 1 означает сушу, 0 — воду. Остров — это группа клеток суши, связанных по сторонам (вверх, вниз, влево, вправо); соседство по диагонали не считается. У вас есть грунт ровно на одну клетку: можно превратить не более одной клетки воды в сушу (или ничего не делать). Верните наибольший размер острова (число клеток), которого можно добиться.
Пример 1
land=[[1, 1, 0], [0, 0, 1], [1, 1, 1]] → 7

Острова здесь размером 2 (верхний левый угол) и 4. Если засыпать центральную клетку, она соединит оба острова: 2 + 4 + 1 = 7.

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

Четыре острова по одной клетке. Засыпав клетку между двумя соседними углами, получаем остров из 3 клеток.

Пример 3
land=[[0, 0], [0, 0]] → 1

Суши нет совсем, но одну клетку можно засыпать — получится остров размером 1.

Ограничения
  • n == len(land) == len(land[i])
  • 1 ≤ n ≤ 500
  • land[i][j] — 0 или 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПереправа в прилив СложнаяПоследний день сухой переправы СложнаяОсушение замкнутых прудов СредняяУчастки суши на карте СредняяСамый большой лесной участок Средняя
загружаем Python…
Вход
land=[[1, 1, 0], [0, 0, 1], [1, 1, 1]]
Ожидается
7

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