헤르메스의 식민지

시간 제한1초메모리 제한128 MB

요약
평면 위에 놓인 3개 또는 4개의 도시마다 추가 분기점을 허용하는 최소 슈타이너 트리의 총 길이를 구한다.
난이도

보통10점 중 5점

유형
기하, 수학, 완전 탐색, 구현
정답자
아직 제출이 없습니다

문제

속도의 신 헤르메스가 우주에 마실리아(Massilia)라는 2차원 식민지를 건설했다. 이 식민지는 하나 이상의 지방(province)으로 이루어지며, 3차원 공간의 한 평면(1차 방정식)으로 나타낼 수 있다. 각 지방에는 3개 또는 4개의 도시가 있고, 이 도시들은 모두 자신들의 볼록 껍질(convex hull) 위에 놓여 있다.

각 지방의 주민들은 자기 지방의 도시들을 잇는 도로망을 건설하려 한다. 도로 건설 자재는 식민지에서 구할 수 없어 지구에서 운반해야 하며, 필요한 자재의 양은 도로의 총 길이에 비례한다. 그래서 주민들은 한 지방의 서로 다른 도시들을 연결하는 가장 짧은 총 길이의 도로망을 짓고 싶어 한다. 도로망을 더 짧게 만들기 위해 필요하다면 도시가 아닌 곳에 새로운 분기점(junction)을 만들어도 된다.

각 지방에 대해, 그 지방의 모든 도시를 연결하는 도로망의 최소 총 길이를 구하여라.

입력

식민지는 평면 ax+by+cz=dax + by + cz = d 로 주어진다. 식민지에는 NN 개의 지방이 있다. 한 지방의 도시는 3차원 좌표 (x,y,z)(x, y, z) 로 나타내며, 모든 좌표 xx, yy, zz 는 −100.00-100.00 이상 +100.00+100.00 이하이다.

첫째 줄에 네 실수 aa, bb, cc, dd 가 주어진다. 둘째 줄에 지방의 개수 NN 이 주어진다. 그 다음 각 지방의 정보가 차례로 주어진다.

각 지방의 정보는 먼저 한 줄에 그 지방의 도시 수 MM (3≤M≤43 \le M \le 4) 이 주어지고, 이어서 MM 개의 줄에 각 도시의 xx, yy, zz 좌표가 주어진다.

출력

각 지방마다 한 줄씩, 다음 형식으로 출력한다.

Province # p : L

여기서 pp 는 입력에 나타난 순서대로의 지방 번호이고 (1≤p≤N1 \le p \le N), LL 은 그 지방 도로망의 최소 길이이다. LL 은 소수점 아래 둘째 자리까지 정확하게 출력한다.

예제3

  1. 예제 1

    입력
    -0.126826 -0.780330 0.612372 3.000000
    2
    3
    11.593475 -0.702393 6.405027
    -43.361881 -34.677124 -48.269711
    -0.380480 -2.340990 1.837117
    4
    -15.033179 6.549108 10.130860
    -13.950171 -53.592907 -66.282234
    49.017246 0.979824 16.299353
    46.824024 12.971205 31.125420
    
    예상 출력
    Province # 1 : 86.43
    Province # 2 : 175.15
    
  2. 예제 2

    입력
    0 0 1 0
    1
    3
    0.000000 0.000000 0.000000
    20.000000 0.000000 0.000000
    6.000000 17.000000 0.000000
    
    예상 출력
    Province # 1 : 34.55
    
  3. 예제 3

    입력
    0 0 1 0
    1
    4
    0.000000 0.000000 0.000000
    20.000000 0.000000 0.000000
    20.000000 20.000000 0.000000
    0.000000 20.000000 0.000000
    
    예상 출력
    Province # 1 : 54.64