TUZ_6-08 Подсчет пар пересекающихся кругов
6.8. Подсчет пар пересекающихся кругов
На двумерной плоскости существуют круги (x1, y1, r1) и (x2, y2, r2), где (x, y) – это координаты центра круга, а r – радиус.
Если для них выполняется неравенство Пифагора (x2 – x1)
2 + (y2 – y1)
2 <= (r1 + r2)
2,
то эти два круга (x1, y1, r1) и (x2, y2, r2) имеют область пересечения.
Следует отметить, что формула работает только для целых чисел.
Ваша задача: написать функцию, которая принимает список координат центров и радиусов кругов
и возвращает количество пар кругов, пересекающихся хотя бы в одной точке.
В табл. 6.8 показаны ожидаемые результаты для некоторых входных данных.
Таблица 6.8. Некоторые ожидаемые результаты для задачи подсчета пар пересекающихся кругов |
Disks |
Ожидаемый результат |
(1, 1, 9), (1, 0, 9) |
1 |
(4, 7, 11), (11, 2, 8), (1, 1, 1) |
2 |
(1, 1, 3), (6, 0, 3), (6, 5, 3), (0, 6, 3) |
3 |
(34, 9, 67) |
0 |