Ctrl K

Место с лучшим сигналом

Средняя
На клетчатой карте стоят антенны: antennas[i] = [x, y, q] — антенна в точке (x, y) с мощностью q. Расстояние между точками обычное, евклидово. Антенна ловится в точке, если расстояние d до неё не больше reach. Тогда она даёт в этой точке сигнал ⌊q / (1 + d)⌋ (деление с округлением вниз). Антенны дальше reach не дают ничего. Сила связи в точке — сумма сигналов всех антенн, которые там ловятся. Найдите точку с целыми неотрицательными координатами, где сила связи максимальна, и верните её как [x, y]. Если таких точек несколько, верните наименьшую: с меньшим x, а при равных x — с меньшим y.
Пример 1
antennas=[[2, 3, 12], [4, 3, 8]], reach=2 → [2, 3]

В точке (2, 3): первая антенна даёт ⌊12 / 1⌋ = 12, вторая на расстоянии 2 даёт ⌊8 / 3⌋ = 2, итого 14. В (3, 3) было бы только 6 + 4 = 10.

Пример 2
antennas=[[0, 4, 6], [4, 0, 6]], reach=1 → [0, 4]

Сигнал 6 есть и в (0, 4), и в (4, 0); выбираем меньшую точку — (0, 4).

Пример 3
antennas=[[7, 9, 0]], reach=5 → [0, 0]

Антенна выключена, сигнал везде 0, поэтому ответ — (0, 0).

Ограничения
  • 1 ≤ len(antennas) ≤ 50
  • antennas[i].length == 3
  • 0 ≤ x, y, q ≤ 50
  • 1 ≤ reach ≤ 50
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПростые числа до границы СредняяСамый длинный хребет на маршруте СредняяСамое позднее время из цифр СредняяХод с захватом линии СредняяСлово в ячейку кроссворда Средняя
загружаем Python…
Вход
antennas=[[2, 3, 12], [4, 3, 8]], reach=2
Ожидается
[2, 3]

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