일광욕

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

요약
직사각형 몸과 원형 파라솔, 그리고 태양 각도 범위가 주어질 때, 일정 시간 동안 햇빛에 노출되는 몸의 비율을 구한다.
난이도

보통10점 중 7점

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

문제

모래사장에 누워 있는 것은 많은 사람들이 가장 좋아하는 해변 활동입니다. 햇빛에 오래 노출되면 따가운 화상을 입기 때문에, 많은 사람들은 파라솔 아래에 누워 햇살을 가립니다. 해변에 누워 있을 시간대를 안다면, 몸을 최대한 많이 가리기 위해 파라솔을 어디에 두어야 할까요?

여기서는 조금 더 쉬운 질문에 답합니다. 몸과 파라솔의 위치가 주어졌을 때, 전체 시간 중 적어도 한 순간이라도 햇빛에 노출되는 몸의 비율(퍼센트)을 계산하세요.

단순화를 위해 몸을 가로 ww, 세로 hh 센티미터인 직사각형으로 봅니다. 해변은 몸의 중심을 원점으로 하는 2차원 평면으로 두며, 길이 hh인 변은 발끝에서 머리 방향을 따라 놓이고 길이 ww인 변은 몸을 가로지르는 방향으로 놓입니다. 파라솔은 반지름 rr인 원으로, 몸 위 높이 dd에 수평으로 설치되며 그 중심도 원점 바로 위에 있습니다.

해가 해변과 이루는 각이 α1\alpha_1인 순간부터 α2\alpha_2인 순간까지 일광욕을 하며, 1∘≤α1<α2≤179∘1^\circ \le \alpha_1 < \alpha_2 \le 179^\circ 입니다. 해는 무한히 먼 곳의 한 점이라고 가정하고, 발끝에서 머리 방향으로 직선으로 이동합니다(한쪽 팔에서 반대쪽 팔 방향이 아닙니다).

입력

첫 번째 줄에는 데이터 집합의 개수인 정수 K≥1K \ge 1 이 주어집니다. 이어지는 KK개의 줄은 각각 하나의 데이터 집합을 나타내며, 순서대로 실수 ww, hh, rr, dd, α1\alpha_1, α2\alpha_2 를 담고 있습니다(두 각도는 도 단위입니다). 해는 발끝에서 머리 방향, 즉 길이 hh인 변과 평행하게 이동하며, 길이 ww인 변과 평행하게 이동하지 않습니다.

출력

각 데이터 집합에 대해 먼저 Data Set x: 줄을 출력합니다. 여기서 xx는 11부터 시작하는 데이터 집합 번호입니다. 다음 줄에는 해당 시간 동안 어느 한 순간이라도 햇빛에 노출되는 몸의 비율을 소수점 아래 정확히 두 자리까지 반올림하여 출력하고, 그 뒤에 퍼센트 기호를 붙입니다(예: 0.00%).

예제3

  1. 예제 1

    입력
    2
    0.5 1.8 5.0 0.2 70.0 120.0
    0.5 2.0 0.75 1.0 45.0 90.0
    
    예상 출력
    Data Set 1:
    0.00%
    Data Set 2:
    76.41%
    
  2. 예제 2

    입력
    1
    1.0 1.0 10.0 0.5 30.0 150.0
    
    예상 출력
    Data Set 1:
    0.00%
    
  3. 예제 3

    입력
    1
    1.0 1.0 0.3 2.0 10.0 170.0
    
    예상 출력
    Data Set 1:
    100.00%