Круги

시간 제한5초메모리 제한1024 MB

요약
두 원이 만나지 않거나 한 점에서 만나거나 한 원이 다른 원에 완전히 포함되는 n개의 원이 주어질 때, 합집합의 넓이를 높은 정밀도로 구한다.
난이도

어려움10점 중 8점

유형
기하, 정렬, 트리, 구현
정답자
아직 제출이 없습니다

문제

На плоскости задано nn кругов. У кругов могут быть общие точки, но любые два круга либо не имеют общих точек, либо имеют одну общую точку, либо один круг вкладывается в другой.

Найдите площадь объединения всех заданных кругов.

입력

Первая строка входного файла содержит число nn (1≤n≤100,0001 \le n \le 100\\,000). Следующие nn строк содержат по три целых числа. Описание ii-го круга состоит из трех целых чисел: координат центра x_ix\_i и y_iy\_i, а также его радиуса r_ir\_i (−106≤x_i,y_i≤106-10^6\le x\_i, y\_i \le 10^6, 1≤r_i≤1061 \le r\_i \le 10^6).

출력

Выведите единственное вещественное число --- площадь объединения всех заданных кругов. Ваш ответ должен иметь абсолютную или относительную погрешность не больше 10−910^{-9}.

예제1

  1. 예제 1

    입력
    4
    2 2 2
    2 2 1
    5 2 1
    5 5 2
    
    예상 출력
    28.2743338823081391