Район разбит на сетку h × w клеток по 100 метров. Зона покрытия каждой базовой станции МТС упрощена до прямоугольника [r1, c1, r2, c2] — клетки от (r1, c1) до (r2, c2) включительно.
Для бесшовной передачи звонка нужно, чтобы клетку покрывали не меньше t станций. Посчитайте такие клетки.
В работе: Планирование новой вышки: сначала смотрят, сколько клеток района покрыто меньше чем двумя станциями.
Пример 1
Ввод
h = 4 w = 5 zones = [[0, 0, 2, 2], [1, 1, 3, 4], [2, 0, 2, 4]] t = 2
Вывод
7
Две клетки в строке 1 и вся строка 2 — 7 клеток.
Пример 2
Ввод
h = 2 w = 2 zones = [] t = 1
Вывод
0
Вышек нет.
Ограничения
- 1 ≤ h, w ≤ 500
- 0 ≤ число зон ≤ 10⁵
- 1 ≤ t ≤ 10⁵
- Лимит — 2 с на тест (2000 мс).
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def covered_cells(h, w, zones, t):
Источник: наша задача на данных МТС. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.