SOJ ONLINE JUDGE

문제 145

원들의 교집합과 합집합 넓이

내 상태
미제출
난이도
145번 문제 난이도 보기
Diamond I
출제자
rlatjwls7882
시간 제한
5000 ms
메모리 제한
1024 MB
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

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.