[Algorithm] 백준 9469번 - 폰 노이만
문제 링크 : https://www.acmicpc.net/problem/9469
문제
250마일 길이의 철로 양 끝에 두 기차 A와 B가 있다. A는 시속 10마일, B는 시속 15마일로 서로를 향해 출발했다. 두 기차의 출발과 동시에 기차 A 앞에 붙어있던 파리 한 마리가 기차가 충돌할 때 까지 시속 20마일로 두 기차를 사이를 왔다갔다 한다. 이때, 파리가 이동한 거리는 몇 마일일까?
폰 노이만은 문제를 듣자마자 머리속으로 무한 급수를 이용해 계산한 다음 1초도 지나지 않은 시간에 200 마일이라고 대답했다.
철로의 길이 D, 두 기차 A, B의 속도와 파리의 속도 F가 주어졌을 때, 위 문제의 답을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 P (1 ≤ P ≤ 1000)가 주어진다.
각 테스트 케이스는 다섯 숫자 N, D, A, B, F이루어져 있다. N은 테스트 케이스의 번호이고, D는 철로의 길이 (10 ≤ D ≤ 1000), A와 B는 두 기차의 속도 (1 ≤ A, B ≤ 40), F는 파리의 속도 (A ≤ B < F ≤ 50)이다. D, A, B, F는 실수이다. 실수는 최대 소수점 둘째자리까지 주어진다.
출력
각 테스트 케이스마다 테스트 케이스 번호를 출력하고, 두 기차가 충돌할 때까지 파리가 움직인 거리를 출력한다. 절대 오차는 10-2까지 허용한다.
✍풀이
D / (A+B) * F
식이 답이다.
코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for(int i=0;i<num;i++)
{
int N = sc.nextInt();
double D = sc.nextDouble();
double A = sc.nextDouble();
double B = sc.nextDouble();
double F = sc.nextDouble();
String sum = String.format("%.6f", D/(A+B)*F);
System.out.println(N+ " " +sum);
}
}
}
Author And Source
이 문제에 관하여([Algorithm] 백준 9469번 - 폰 노이만), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cjhlsb/Algorithm-백준-9469번-폰-노이만저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)