시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 512 MB 1 1 1 100.000%

문제

좌표평면 위에 N개의 서로 색이 다른 색종이를 하나씩 하나씩 붙인다. 색종이는 반드시 좌표평면과 이미 붙어 있는 모든 색종이들의 위에 놓여야 하며, 색종이를 좌표평면 아래에 붙이거나 붙어 있는 색종이 사이에 넣는 것은 불가능하다.

색종이의 모양에는 두 가지 종류가 있는데, 아래와 같다.

  1. (x1, y1), (x2, y2), (x3, y3)을 세 꼭지점으로 하는 삼각형 모양
  2. 점 (x, y)가 중심이고 반지름의 길이가 r인 원 모양

색종이에 1번부터 N번까지의 자연수 번호를 붙인 후, 번호가 작은 순서대로 차례대로 (1번, 2번, .., N번) 색종이를 붙인다. 아래 그림은 색종이를 붙이는 과정의 예시를 나타낸다.

1번부터 i번까지의 모든 색종이를 붙인 시점에서, 붙어 있는 색종이들이 각각 얼마나 보이는지를 구하여 출력하는 프로그램을 작성하라.

입력

첫 번째 줄에 자연수 N (1 ≤ N ≤ 200)이 주어진다.

이후 색종이들의 정보를 나타내는 N개의 줄이 주어진다. 이 중 i (1 ≤ i ≤ N)번째 줄에는 맨 처음 i번 색종이의 종류를 나타내는 정수 t (1 ≤ t ≤ 2)가 주어진다. t = 1이면 i번 색종이의 모양이 삼각형이라는 것으로, 이후 같은 줄에 삼각형의 세 꼭짓점의 좌표를 나타내는 6개의 정수 x1, y1, x2, y2, x3, y3 (-100 ≤ x1, y1, x2, y2, x3, y3 ≤ 100)이 공백을 사이로 두고 주어진다. 세 점이 일직선상에 놓여있는 경우는 없다. t = 2이면 i번 색종이의 모양이 원이라는 것으로, 이후 같은 줄에 원의 중심의 좌표를 나타내는 두 정수 x, y(-100 ≤ x, y ≤ 100)와 이 원의 반지름을 나타내는 정수 r(1 ≤ r ≤ 100)이 공백을 사이로 두고 주어진다.

출력

N개의 줄에 걸쳐 정답을 출력한다. 이 중 i (1 ≤ i ≤ N)번째 줄에는, 1번부터 i번까지의 모든 색종이를 순서대로 올렸을 때, 1번 색종이의 보이는 면적, 2번 색종이의 보이는 면적, ..., i번 색종이의 보이는 면적을 나타내는 i개의 실수를 공백을 사이로 두고 차례대로 출력하면 된다.

정답과의 절대 오차 또는 상대 오차가 10-8 이하이면 올바른 답안으로 인정된다.

예제 입력

2
2 0 0 1
1 0 0 2 0 0 2

예제 출력

3.141592653590
2.356194490192 2.000000000000

힌트

출처

Contest > kriiicon > 제 3회 kriiicon ㅅ번