728x90
시간 제한 : 1초
메모리 제한 : 128MB
입력
첫째 줄에 테스트 케이스의 개수 P (1 ≤ P ≤ 1000)가 주어진다.
각 테스트 케이스는 다섯 숫자 N, D, A, B, F이루어져 있다. N은 테스트 케이스의 번호이고, D는 철로의 길이 (10 ≤ D ≤ 1000), A와 B는 두 기차의 속도 (1 ≤ A, B ≤ 30), F는 파리의 속도 (A ≤ B < F ≤ 50)이다. D, A, B, F는 실수이다. 실수는 최대 소수점 둘째자리까지 주어진다.
출력
각 테스트 케이스마다 테스트 케이스 번호를 출력하고, 두 기차가 충돌할 때까지 파리가 움직인 거리를 출력한다. 절대/상대 오차는 10^-2까지 허용한다.
소스코드
#include <iostream> using namespace std; int main(void) { int P; cin >> P; for (int i = 0; i < P; i++) { int N; double D, A, B, F, time = 0.0; cin >> N >> D >> A >> B >> F; time = D / (A + B); cout << N << ' ' << F * time << '\n'; } }
Tip
폰 노이만과 무한급수에 관련된 유명한 일화를 가져온 문제다. 이 문제는 폰 노이만처럼 무한급수로 푸는 것이 아니라, 두 기차가 충돌할 때까지 걸린 시간을 파리의 속도와 곱하는 단순한 계산으로 푸는 수학 문제다.
728x90
'Computer Science > Algorithm Problem' 카테고리의 다른 글
백준] 1598 - 꼬리를 무는 숫자 나열 (0) | 2019.03.10 |
---|---|
백준] 2890 - 카약(COCI 2009/2010) (0) | 2019.02.20 |
백준] 3029 - 경고(COCI 2006/2007) (0) | 2019.02.18 |
백준] 2997 - 네 번째 수(COCI 2007/2008) (0) | 2019.02.17 |
백준] 2891 - 카약과 강풍(COCI 2009/2010) (0) | 2019.02.16 |