Ctrl K

Три прямоугольника на все единицы

Сложная
Дана таблица grid из нулей и единиц. Нужно выбрать три прямоугольника со сторонами вдоль линий таблицы так, чтобы каждая клетка с единицей лежала внутри одного из них. Прямоугольники не должны перекрываться (касаться сторонами можно), и площадь каждого должна быть хотя бы 1. Верните наименьшую возможную суммарную площадь трёх прямоугольников.
Пример 1
grid=[[1, 1, 0], [0, 0, 1], [1, 0, 1]] → 5

Прямоугольник 1 × 2 на две единицы в верхней строке, 1 × 1 на клетку (2, 0) и 2 × 1 на клетки (1, 2) и (2, 2): 2 + 1 + 2 = 5.

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

Каждую из трёх единиц накрывает свой квадратик 1 × 1.

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

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