아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

물방울 응집

시간 제한3초메모리 제한256 MB

요약
등속으로 움직이는 원형 물방울이 닿으면 면적 가중 평균으로 합쳐지며 움직이는 과정을 끝까지 시뮬레이션하고 최종 개수와 마지막 합체 시각을 구합니다.
난이도

보통10점 중 6점

유형
시뮬레이션, 수학, 기하
정답자
아직 제출이 없습니다

문제

평면에서 움직이는 물방울의 운동을 시뮬레이션한다. 각 물방울은 일정한 속도로 움직이는 원이고, 크기는 저마다 다르다. 두 물방울의 원이 맞닿는 순간 둘은 응집해서 하나의 원형 물방울이 된다. 새 물방울의 넓이는 두 물방울 넓이의 합이다. 새 물방울의 중심은 맞닿는 순간 두 중심의 넓이 가중 평균이고, 속도는 두 속도의 넓이 가중 평균이다.

그림이 응집 과정을 보여 준다. 위쪽 그림에서 반지름이 4이고 중심이 (−14,0)(-14, 0)인 물방울이 속도 (1,0)(1, 0)으로 움직여, 원점에 정지해 있는 반지름 3인 물방울로 다가간다. 두 원은 시각 t=7.0t = 7.0에 맞닿고, 가운데 그림이 그 순간이다.

맞닿는 순간 반지름 4인 물방울의 중심은 (−7,0)(-7, 0)이다. 두 물방울의 넓이가 각각 16π16\pi와 9π9\pi이므로 새 물방울의 넓이는 25π25\pi, 반지름은 5이다. 새 물방울 중심의 xx좌표는 1625⋅(−7.0)+925⋅0.0=−4.48\frac{16}{25} \cdot (-7.0) + \frac{9}{25} \cdot 0.0 = -4.48이고, yy좌표는 1625⋅0.0+925⋅0.0=0.0\frac{16}{25} \cdot 0.0 + \frac{9}{25} \cdot 0.0 = 0.0이다. 같은 방법으로 계산하면 새 물방울의 속도는 (0.64,0)(0.64, 0)이다.

처음 배치가 주어진다. 더 이상 응집이 일어날 수 없을 때까지 운동을 시뮬레이션해서, 남은 물방울의 개수와 마지막 응집이 일어난 시각을 구하라.

모든 테스트는 다음을 만족한다.

  • 처음 물방울은 서로 맞닿아 있지 않다.
  • 응집으로 새 물방울이 생기는 순간, 그 물방울은 다른 어떤 물방울과도 맞닿지 않는다. 맞닿기까지 0.0010.001 이상 떨어져 있다.
  • 두 물방울이 한 점에서만 만나며 스쳐 지나가는 일은 없다. 어떤 물방울의 반지름을 0.0010.001만큼 늘리거나 줄여도 다른 물방울과 충돌하는지 여부는 달라지지 않는다.
  • 두 쌍이 정확히 같은 시각에 응집하는 일은 없다. 연속한 두 응집의 시각 차이는 0.0010.001 이상이다.
  • 시각 t=109t = 10^9 이후에는 응집이 일어나지 않는다.
  • 답 tt의 정확한 값은 10−610^{-6}의 연속한 두 배수의 중점에서 10−710^{-7} 이상 떨어져 있다. 배정밀도 실수로 계산해도 소수점 아래 여섯째 자리 반올림 결과가 하나로 정해진다.

입력

첫째 줄에 처음 물방울의 개수 NN이 주어진다 (2≤N≤1002 \le N \le 100).

다음 NN개 줄에는 각각 정수 다섯 개 xx, yy, vxv_x, vyv_y, rr가 공백으로 구분되어 주어진다. 차례대로 중심의 xx좌표, 중심의 yy좌표, 속도의 xx성분, 속도의 yy성분, 반지름이다. −10000≤x,y,vx,vy≤10000-10000 \le x, y, v_x, v_y \le 10000이고 1≤r≤1001 \le r \le 100이다.

출력

한 줄에 값 두 개 kk와 tt를 공백 하나로 구분해 출력한다. kk는 최종 배치에 남은 물방울의 개수이고, tt는 마지막 응집이 일어난 시각이다.

tt는 소수점 아래 여섯째 자리까지 반올림해서 자릿수를 정확히 여섯 자리로 맞춰 출력한다. 응집이 한 번도 일어나지 않으면 kk는 처음 물방울의 개수와 같고 tt는 0.000000이다.

예제4

  1. 예제 1

    입력
    2
    -2 0 2 0 1
    2 0 0 0 1
    
    예상 출력
    1 1.000000
    
  2. 예제 2

    입력
    2
    -2 0 -2 0 1
    2 0 -2 1 1
    
    예상 출력
    2 0.000000
    
  3. 예제 3

    입력
    4
    -8 0 2 -2 2
    0 -8 -2 2 2
    2 8 0 -4 3
    8 2 -4 0 3
    
    예상 출력
    1 2.000000
    
  4. 예제 4

    입력
    4
    -8 3 3 0 2
    -2 4 2 0 2
    2 -2 2 0 2
    8 -2 0 0 2
    
    예상 출력
    1 5.784750