Ctrl K

Прямоугольники по четырём углам

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

Единственный прямоугольник — по четырём углам поля: клетки (0, 0), (0, 2), (2, 0) и (2, 2). Единица в центре ни в какой прямоугольник не входит.

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

Любые две строки из трёх дают прямоугольник на обоих столбцах: всего 3 способа.

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

В одной строке четыре разных угла не набрать.

Ограничения
  • 1 ≤ field.length, field[i].length ≤ 200
  • Все строки одной длины
  • field[i][j] — 0 или 1
  • Количество единиц на поле — от 1 до 6000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМышь, кот и сыр СложнаяПовернуть квадрат по часовой СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол СредняяСамый большой сплошной квадрат Средняя
загружаем Python…
Вход
field=[[1, 0, 1], [0, 1, 0], [1, 0, 1]]
Ожидается
1

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