붉은 보석

시간 제한1초메모리 제한128 MB

요약
각 테스트마다 원형 발판 둘레에서 주황 원판에 가리지 않고 빨간 원판 전체가 보이는 구간의 비율을 구한다.
난이도

어려움10점 중 8점

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

문제

원의 나라에 있는 원 박물관에서 커다란 붉은 원형 보석이 전시되고 있다.

큐레이터는 이 보석을 보라색 원형 받침대 위에 올려 두고, 그 주위에는 평범한 주황색 원형 보석들을 함께 배치했다.

관람객(점으로 생각한다)은 보라색 받침대의 둘레(원주) 위에만 설 수 있으며, 받침대 내부는 밟을 수 없다. 주황색 보석들은 붉은 보석을 향한 시야를 가릴 수 있다. 모든 도형은 한 평면 위에 놓여 있고, 시선이란 관람객과 붉은 보석 위의 한 점을 잇는 선분이다. 이 선분이 어떤 주황색 보석(원)의 내부를 지나면 그 점은 가려진 것이다.

붉은 보석 전체가 어떤 주황색 보석에도 가려지지 않고 완전히 보이는 지점이 보라색 받침대의 둘레에서 차지하는 비율을 구하여라.

입력

입력에는 여러 개의 테스트 케이스가 주어진다. 각 테스트 케이스는 다섯 개의 정수로 이루어진 한 줄로 시작한다.

n p x y r

여기서 nn (1≤n≤1001 \le n \le 100) 은 주황색 보석의 개수, pp (10≤p≤100010 \le p \le 1000) 는 보라색 받침대의 반지름, (x,y)(x, y) (−1000≤x,y≤1000-1000 \le x, y \le 1000) 는 받침대 중심을 기준으로 한 붉은 보석의 중심 좌표, rr (0<r≤10000 < r \le 1000) 은 붉은 보석의 반지름이다. 붉은 보석은 받침대 위에 완전히 놓여 있다.

이어지는 nn 개의 줄에는 각각 세 개의 정수가 주어진다.

x y r

이는 받침대 중심을 기준으로 한 주황색 보석의 중심 (x,y)(x, y) (−1000≤x,y≤1000-1000 \le x, y \le 1000) 와 반지름 rr (0<r≤10000 < r \le 1000) 을 나타낸다. 모든 주황색 보석도 받침대 위에 완전히 놓여 있다. 주황색 보석은 붉은 보석과 겹치지 않으며, 서로도 겹치지 않는다.

입력의 끝은 다섯 개의 0으로 이루어진 줄 0 0 0 0 0 으로 표시되며, 이 줄은 테스트 케이스가 아니다.

출력

각 테스트 케이스마다, 붉은 보석 전체가 어떤 주황색 보석에도 가려지지 않고 완전히 보이는 보라색 받침대 둘레의 비율을 한 줄에 하나씩 출력한다. 이 값은 0 이상 1 이하이다. 소수점 아래 정확히 4자리까지 출력하며, 반올림은 표준 반올림(5는 올리고 4는 버림; 예: 0.12344 → 0.1234, 0.12345 → 0.1235)을 사용한다. 답 사이에 불필요한 공백이나 빈 줄을 넣지 않는다.

예제2

  1. 예제 1

    입력
    4 10 0 0 1
    5 0 2
    0 5 2
    -5 0 2
    0 -5 2
    0 0 0 0 0
    
    예상 출력
    0.3082
    
  2. 예제 2

    입력
    1 10 3 0 1
    -3 0 1
    0 0 0 0 0
    
    예상 출력
    0.8918