지하 케이블

면접 대비

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

요약
최대 1000개의 점이 주어질 때, 선분이 서로 교차하지 않도록 모든 점을 잇는 최소 총 길이를 구한다.
난이도

보통10점 중 4점

유형
최소 신장 트리, 그래프, 기하, 정렬
정답자
아직 제출이 없습니다

문제

한 도시가 보기 흉한 전신주를 없애기 위해 모든 전선을 지하로 옮기려고 합니다. 연결해야 할 지점들의 목록이 주어지지만 몇 가지 제약이 있습니다. 굴착 장비는 지점과 지점 사이를 직선으로만 이동할 수 있고, 주어진 지점을 제외한 어떤 위치에도 지하 케이블을 하나만 놓을 수 있어 두 케이블이 서로 교차할 수 없습니다.

지점들의 목록이 주어질 때, 모든 지점의 각 쌍이 직접 또는 다른 지점을 거쳐 간접적으로 연결되도록 하는 데 필요한 케이블 길이의 최솟값은 얼마입니까?

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스의 첫 줄에는 도시에 있는 지점의 개수인 정수 NN (2≤N≤10002 \le N \le 1000)이 주어집니다. 이어지는 NN개의 줄에는 각 지점의 위치를 나타내는 두 정수 XX와 YY (−1000≤X,Y≤1000-1000 \le X, Y \le 1000)가 주어집니다.

입력의 마지막 줄에는 00 하나만 주어지며, 이는 입력의 끝을 의미합니다.

출력

각 테스트 케이스마다, 모든 지점을 연결하는 데 필요한 케이블 길이의 최솟값을 나타내는 실수 하나를 한 줄에 출력합니다. 이 값은 소수점 아래 둘째 자리까지 출력합니다.

예제3

  1. 예제 1

    입력
    4
    0 0
    0 10
    10 0
    10 10
    2
    0 0
    10 10
    0
    
    예상 출력
    30.00
    14.14
    
  2. 예제 2

    입력
    2
    0 0
    5 0
    0
    
    예상 출력
    5.00
    
  3. 예제 3

    입력
    3
    0 0
    3 0
    7 0
    0
    
    예상 출력
    7.00