만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

도시의 도로

시간 제한8초메모리 제한512 MB

요약
도로 선분들과 각 도로의 수용 반경이 주어질 때, -5에서 5까지의 정사각형 영역 중 어느 도로로부터든 거리 r 이내인 넓이를 구합니다.
난이도

보통10점 중 7점

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

문제

도시에서 도로는 발전에 중요한 역할을 한다. 도로가 한 번 건설되면 사람들은 그 주변에 모여 살기 시작한다. 도로가 넓을수록 수용 능력이 커서, 도로 주변의 더 넓은 지역에 사람이 살 수 있다.

식민 개척 기업 연합(ICPC)은 새로운 영토에 도로를 개발하려고 한다. 새 영토는 완전히 비어 있는 정사각형이다. ICPC는 여러 계획을 세웠지만 어느 계획이 가장 좋은지 판단하기 어렵다.

그래서 ICPC는 여러분을 포함한 프로그래머들에게 각 계획의 지표를 계산하는 프로그램을 작성하라고 요청했다. 과제는 비교적 간단하다. 도로의 위치와 수용 능력이 주어졌을 때, 사람이 살 수 있는 영역의 넓이를 구하면 된다.

그림 1: 첫 번째 계획

입력

입력은 여러 개의 계획으로 이루어진다. 각 계획의 첫 줄에는 도로의 개수 nn이 주어진다 (n≤50n \le 50). 이어서 nn개의 줄에 정수 x1x_1, y1y_1, x2x_2, y2y_2, rr이 공백으로 구분되어 주어진다. (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2)는 도로 선분의 두 끝점이고 (−15≤x1,y1,x2,y2≤15-15 \le x_1, y_1, x_2, y_2 \le 15), rr은 도로로부터 사람이 살 수 있는 최대 거리인 수용 능력이다 (r≤10r \le 10).

입력의 끝은 0만 있는 한 줄로 표시된다.

영토는 −5≤x,y≤5-5 \le x, y \le 5 범위에 있다. 각 도로는 직선 선분이며, 어떤 선분도 퇴화하지 않는다고 가정해도 된다.

출력

각 계획에 대해 사람이 살 수 있는 영역의 넓이를 한 줄에 출력한다. 소수점 이하 자릿수는 몇 자리든 괜찮지만, 정확한 답과의 차이가 0.01을 넘으면 안 된다.

예제1

  1. 예제 1

    입력
    2
    0 -12 0 0 2
    0 0 12 0 2
    0
    
    예상 출력
    39.14159