Ctrl K

Разделить остров

Сложная
Карта — сетка land из 0 (вода) и 1 (суша). Островом называется наибольшая группа клеток суши, связанных по сторонам (вверх, вниз, влево, вправо). Карта считается **связной**, если на ней ровно один остров. За один день можно затопить одну любую клетку суши, превратив её в воду. Верните наименьшее число дней, после которых карта перестанет быть связной. Если островов уже не один (ноль или несколько), ответ 0.
Пример 1
land=[[1, 1, 1], [0, 1, 0], [0, 1, 0]] → 1

Если затопить центральную клетку (1, 1), остров распадается на три части. Хватает одного дня.

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

Убрав любую одну клетку, получим уголок из трёх клеток — он всё ещё один остров. Две клетки по диагонали уже не связаны: ответ 2.

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

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