grid: 1 — клетка, поражённая плесенью, 0 — чистая. Между любыми двумя соседними по стороне клетками можно поставить одну перегородку.
Каждую ночь плесень перебирается из каждой поражённой клетки во все соседние по стороне чистые клетки, если между ними нет перегородки.
Ресурсов мало: за день можно оградить только **одно** пятно — связную (по сторонам) группу поражённых клеток. Каждый день выбирается то пятно, которое следующей ночью заразило бы больше всего чистых клеток; ограждение ставится на все границы между ним и чистыми клетками, после чего пятно больше не растёт. Гарантируется, что такое пятно всегда единственное.
Процесс продолжается, пока есть пятна, которые могут расти. Верните общее число поставленных перегородок.grid=[[0, 0, 0], [0, 1, 0], [0, 0, 0]] → 4
Одно пятно в центре граничит с четырьмя чистыми клетками. В первый же день ставим вокруг него 4 стенки — и всё.
grid=[[1, 1, 0, 0, 0], [0, 0, 0, 0, 1]] → 6
Левое пятно угрожает трём клеткам, правое — двум. В первый день изолируем левое (3 стенки), за ночь правое разрастается до [[1, 1, 0, 0, 1], [0, 0, 0, 1, 1]]. На второй день ему нужно ещё 3 стенки: итого 6.
grid=[[1, 1], [1, 1]] → 0
Чистых клеток нет — заражать уже нечего, стенки не нужны.
grid[i][j] — 0 или 1grid=[[0, 0, 0], [0, 1, 0], [0, 0, 0]]
4
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 37 тестов на сервере, включая скрытые.