색종이 Batch
Time limit | Memory limit | # of submissions | # of submitted users | Solved # | Accepted user ratio |
---|---|---|---|---|---|
1000 ms | 512 MiB | 116 | 8 | 5 | 62.50% |
좌표평면 위에 $N$개의 서로 색이 다른 색종이를 하나씩 하나씩 붙인다. 색종이는 반드시 좌표평면과 이미 붙어 있는 모든 색종이들의 위에 놓여야 하며, 색종이를 좌표평면 아래에 붙이거나 붙어 있는 색종이 사이에 넣는 것은 불가능하다.
색종이의 모양에는 두 가지 종류가 있는데, 아래와 같다.
- $(x_{1}, y_{1})$, $(x_{2}, y_{2})$, $(x_{3}, y_{3})$을 세 꼭지점으로 하는 삼각형 모양
- 점 $(x, y)$가 중심이고 반지름의 길이가 $r$인 원 모양
색종이에 1번부터 $N$번까지의 자연수 번호를 붙인 후, 번호가 작은 순서대로 차례대로 (1번, 2번, .., $N$번) 색종이를 붙인다. 아래 그림은 색종이를 붙이는 과정의 예시를 나타낸다.
1번부터 $i$번까지의 모든 색종이를 붙인 시점에서, 붙어 있는 색종이들이 각각 얼마나 보이는지를 구하여 출력하는 프로그램을 작성하라.
입력
첫 번째 줄에 자연수 $N$ ($1 \le N \le 200$)이 주어진다.
이후 색종이들의 정보를 나타내는 $N$개의 줄이 주어진다. 이 중 $i$ ($1 \le i \le N$)번째 줄에는 맨 처음 $i$번 색종이의 종류를 나타내는 정수 $t$ ($1 \le t \le 2$)가 주어진다. $t = 1$이면 $i$번 색종이의 모양이 삼각형이라는 것으로, 이후 같은 줄에 삼각형의 세 꼭짓점의 좌표를 나타내는 6개의 정수 $x_{1}$, $y_{1}$, $x_{2}$, $y_{2}$, $x_{3}$, $y_{3}$($-100 \le $$x_{1}$, $y_{1}$, $x_{2}$, $y_{2}$, $x_{3}$, $y_{3}$$ \le 100$)이 공백을 사이로 두고 주어진다. 세 점이 일직선상에 놓여있는 경우는 없다. $t = 2$이면 $i$번 색종이의 모양이 원이라는 것으로, 이후 같은 줄에 원의 중심의 좌표를 나타내는 두 정수 $x$, $y$($-100 \le $$x$, $y$$ \le 100$)와 이 원의 반지름을 나타내는 정수 $r$($1 \le $$r$$ \le 100$)이 공백을 사이로 두고 주어진다.
출력 형식
$N$개의 줄에 걸쳐 정답을 출력한다. 이 중 $i$ ($1 \le i \le N$)번째 줄에는, 1번부터 $i$번까지의 모든 색종이를 순서대로 올렸을 때, 1번 색종이의 보이는 면적, 2번 색종이의 보이는 면적, ..., $i$번 색종이의 보이는 면적을 나타내는 $i$개의 실수를 공백을 사이로 두고 차례대로 출력하면 된다.
정답과의 절대 오차 또는 상대 오차가 $10^{-8}$ 이하이면 올바른 답안으로 인정된다.
부분문제
부분문제 | 점수 | t |
---|---|---|
1 | 36 | = 2 |
2 | 73 | ≤ 2 |
입출력 예제
입력
2
2 0 0 1
1 0 0 2 0 0 2
출력
3.141592653590
2.356194490192 2.000000000000