문제 145
원들의 교집합과 합집합 넓이
평면 위의 원을 내부와 경계를 모두 포함하는 영역으로 생각하자. 다음 질의를 처리해 보자.
- $\texttt{I}\ x_1\ y_1\ r_1\ x_2\ y_2\ r_2$: 중심이 각각 $(x_1,y_1)$과 $(x_2,y_2)$이고 반지름이 각각 $r_1$과 $r_2$인 두 원의 교집합 넓이를 구한다.
- $\texttt{U}\ N$: 이어서 주어지는 $N$개의 원의 합집합 넓이를 구한다.
같은 원이 여러 번 주어질 수 있다.
입력
첫 번째 줄에 질의의 수를 의미하는 정수 $Q$가 주어진다. $(1\le Q\le100\,000)$
각 질의는 다음과 같이 주어진다.
I질의는 문자I와 정수 $x_1$, $y_1$, $r_1$, $x_2$, $y_2$, $r_2$가 공백으로 구분되어 한 줄에 주어진다. $(\lvert x_1\rvert,\lvert y_1\rvert,\lvert x_2\rvert,\lvert y_2\rvert\le10\,000; 0\le r_1,r_2\le1\,000)$U질의의 첫 번째 줄에 문자U와 정수 $N$이 공백으로 구분되어 주어진다. $(0\le N\le1\,000)$
두 번째 줄부터 $N$개의 줄에 걸쳐 원의 중심의 좌표를 나타내는 정수 $x$, $y$와 반지름을 나타내는 정수 $r$이 공백으로 구분되어 주어진다. $(\lvert x\rvert\le10\,000; \lvert y\rvert\le10\,000; 0\le r\le1\,000)$
모든 U 질의에 대한 $N^2$의 합은 $4\cdot10^6$ 이하이다.
출력
각 질의에 대해 구한 넓이를 한 줄에 출력한다. 절대 오차가 $10^{-6}$ 이하이거나 상대 오차가 $10^{-8}$ 이하이면 정답으로 인정한다.
예제 입력 1
5 I 0 0 1 1 0 1 U 2 0 0 1 1 0 1 U 0 I 0 0 3 0 0 1 U 3 0 0 3 0 0 1 10000 -10000 0
예제 출력 1
1.228369698609 5.054815608571 0.000000000000 3.141592653590 28.274333882308