반딧불이 무리의 질량 중심
시간 제한5초메모리 제한512 MB
각 반딧불이가 일정한 속도로 직선 운동할 때, 원점에서 무게중심까지의 거리가 t >= 0 범위에서 최소가 되는 값과 그 최초 시각을 구해 소수점 여덟 자리까지 정확히 출력한다.
문제
반딧불이 마리로 이루어진 무리를 관찰한다. 반딧불이는 저마다 일정한 속도로 직선을 따라 움직인다. 나는 공간의 원점 에 서 있다. 반딧불이의 질량은 모두 같고, 무리의 중심이 나에게 얼마나 가까이 오는지 알고 싶다.
시각 에서 반딧불이 각각의 위치와 속도를 알고 있으며, 인 시각만 생각한다. 속도는 변하지 않고, 반딧불이는 다른 반딧불이와 나를 포함해 무엇이든 그대로 통과한다. 시각 에서 반딧불이 마리의 질량 중심을 , 원점과 사이의 거리를 라고 하자. 에서 의 최솟값 과, 이 되는 가장 이른 시각 을 구한다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다. 각 테스트 케이스의 첫 줄에는 반딧불이의 수 이 주어지고, 이어서 다음 형식의 줄이 개 주어진다.
x y z vx vy vz
각 줄은 반딧불이 한 마리를 나타낸다. 는 시각 에서의 위치이고, 는 속도이다.
제한
- 입력에 주어지는 수는 모두 정수이다.
출력
각 테스트 케이스마다 다음 형식으로 한 줄씩 출력한다.
Case #X: dmin tmin
는 1부터 시작하는 테스트 케이스 번호이다. 을 먼저 쓰고 공백 한 칸을 둔 다음 을 쓴다. 두 값 모두 소수점 아래 여덟 자리까지 반올림해 여덟 자리를 빠짐없이 출력하고, 정확히 절반인 값은 올린다. 반올림 결과가 정확해야 하는데 은 보다 커질 수 있으므로, 배정밀도 부동소수점만 쓰면 자릿수가 모자랄 수 있다.
힌트
개의 점 의 질량 중심은 다음 점 이다.
xc = (x1 + x2 + ... + xN) / N
yc = (y1 + y2 + ... + yN) / N
zc = (z1 + z2 + ... + zN) / N