만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

세계 일주

시간 제한2초메모리 제한1024 MB

요약
점 n개(n은 10 이하)가 주어질 때, 이미 방문한 점을 지나지 않고 각 점을 한 번씩 도는 최단 순환 경로의 길이를 구하고, 불가능하면 -1을 출력합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 기하, 비트 연산
정답자
아직 제출이 없습니다

문제

흐즈로는 어느 날 2차원 메타버스를 방문하였습니다. 2차원 메타버스에서 두 점 사이의 거리는 유클리드 거리 d(A,B)=(xA−xB)2+(yA−yB)2d(A,B)=\sqrt{(x_A-x_B)^2+(y_A-y_B)^2}로 정의합니다. 메타버스에는 nn개의 국가가 있으며, 각 국가는 한 점 (xi,yi)(x_i,y_i)로 이루어져 있습니다. 메타버스 세계의 평화 협정에 따라 서로 다른 두 국가가 같은 점을 차지하지 않으며, 어떤 세 국가도 한 직선 위에 있지 않습니다. 흐즈로는 2차원 메타버스에서 세계 일주를 하면 재미있을 것으로 생각하였습니다. 세계 일주는 다음 규칙을 따릅니다.

  • 먼저 국가 하나를 임의로 정합니다. 흐즈로는 그 국가에서 출발해 모든 국가를 한 번씩 지난 뒤 출발한 국가로 돌아옵니다. 국가와 국가 사이를 이동할 때는 두 국가 사이의 최단 경로를 따라 이동합니다. 이때 이동한 거리의 합이 세계 일주의 비용입니다.
  • 이미 지난 곳은 다시 지날 수 없습니다. 이는 국가가 아닌 점도 포함합니다. 단, 모든 국가를 지난 뒤 출발한 국가에 도착하는 시점은 예외입니다.

흐즈로는 이 규칙에 따라 세계 일주를 할 수 있을지 궁금했습니다. 세계 일주를 할 수 있는지 판단하고, 할 수 있다면 최소 비용을 출력해 주세요.

입력

첫 번째 줄에 국가의 개수 nn이 주어집니다. (3≤n≤103 \le n \le 10)

두 번째 줄부터 nn개의 줄에 걸쳐 각 줄에 국가가 차지하는 점의 좌표인 두 정수 xix_i와 yiy_i가 공백으로 구분되어 주어집니다. (−106≤xi,yi≤106-10^6 \le x_i,y_i \le 10^6)

서로 다른 두 국가가 같은 점을 차지하지 않으며, 어떤 세 국가도 한 직선 위에 있지 않음이 보장됩니다.

출력

흐즈로가 규칙에 따라 세계 일주를 할 수 있다면, 그 최소 비용을 한 줄에 출력합니다. 규칙에 따른 세계 일주가 불가능하다면, −1-1을 한 줄에 출력합니다.

문제의 정답과 출력 간의 절대 오차 또는 상대 오차가 10−610^{-6} 이하이면 정답으로 인정합니다.

예제1

  1. 예제 1

    입력
    4
    0 1
    0 -1
    2 0
    -2 0
    
    예상 출력
    8.944271909999