페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
60000
ms
메모리 제한
1024
MB
테니스 라켓으로 파리를 맞힐 확률은 얼마인가?
우선 라켓의 손잡이는 무시한다. 라켓이 바깥쪽 반지름이 R이고 두께가 t인 완벽한 고리라고 가정한다(따라서 고리의 안쪽 반지름은 R−t이다).
고리에는 가로줄과 세로줄이 쳐져 있다. 각 줄은 반지름이 r인 원기둥이다. 각 줄은 고리의 현(원의 두 점을 잇는 직선)이다. 이웃한 줄 사이에는 길이가 g인 간격이 있다. 줄은 라켓의 중심에 대해 대칭이다. 즉, 중심선이 고리의 중심에서 만나는 한 쌍의 줄이 있다.
파리는 반지름이 f인 구이다. 라켓이 고리의 평면에 수직인 직선을 따라 움직인다고 가정한다. 또한 파리의 중심은 라켓의 바깥쪽 반지름 안에 있으며, 그 반지름 안의 어느 위치에나 있을 가능성이 같다고 가정한다. 파리와 라켓(고리 또는 줄)이 조금이라도 겹치면 맞힌 것으로 간주한다.

시간 제한: 테스트 세트당 60초. 메모리 제한: 1GB. f, R, t, r, g는 양수이며 10000보다 작거나 같다. t < R f < R r < R
1 ≤ N ≤ 30 줄의 총개수는 최대 60개이다(따라서 각 방향에는 최대 30개이다).
1 ≤ N ≤ 100 줄의 총개수는 최대 2000개이다(따라서 각 방향에는 최대 1000개이다).
입력 파일의 테스트 케이스 수를 나타내는 정수 N이 한 줄에 주어진다.
다음 N개의 줄에는 각각 수 f, R, t, r, g가 정확히 한 칸의 공백으로 구분되어 주어진다. 또한 각 수는 소수점 뒤에 정확히 6개의 자릿수를 갖는다.
N개의 줄을 각각 "Case #k: P" 형식으로 출력한다. 여기서 k는 테스트 케이스의 번호이고 P는 라켓의 일부로 파리를 맞힐 확률이다.
상대 오차 또는 절대 오차가 최대 10^{-6}인 답은 정답으로 간주한다.
5
0.250000 1.000000 0.100000 0.010000 0.500000
0.250000 1.000000 0.100000 0.010000 0.900000
0.000010 10000.000000 0.000010 0.000010 1000.000000
0.400000 10000.000000 0.000010 0.000010 700.000000
1.000000 100.000000 1.000000 1.000000 10.000000
Case #1: 1.000000
Case #2: 0.910015
Case #3: 0.000000
Case #4: 0.002371
Case #5: 0.573972
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.