세계 일주
시간 제한2초메모리 제한1024 MB
점 n개(n은 10 이하)가 주어질 때, 이미 방문한 점을 지나지 않고 각 점을 한 번씩 도는 최단 순환 경로의 길이를 구하고, 불가능하면 -1을 출력합니다.
문제
흐즈로는 어느 날 2차원 메타버스를 방문하였습니다. 2차원 메타버스에서 두 점 사이의 거리는 유클리드 거리 로 정의합니다. 메타버스에는 개의 국가가 있으며, 각 국가는 한 점 로 이루어져 있습니다. 메타버스 세계의 평화 협정에 따라 서로 다른 두 국가가 같은 점을 차지하지 않으며, 어떤 세 국가도 한 직선 위에 있지 않습니다. 흐즈로는 2차원 메타버스에서 세계 일주를 하면 재미있을 것으로 생각하였습니다. 세계 일주는 다음 규칙을 따릅니다.
- 먼저 국가 하나를 임의로 정합니다. 흐즈로는 그 국가에서 출발해 모든 국가를 한 번씩 지난 뒤 출발한 국가로 돌아옵니다. 국가와 국가 사이를 이동할 때는 두 국가 사이의 최단 경로를 따라 이동합니다. 이때 이동한 거리의 합이 세계 일주의 비용입니다.
- 이미 지난 곳은 다시 지날 수 없습니다. 이는 국가가 아닌 점도 포함합니다. 단, 모든 국가를 지난 뒤 출발한 국가에 도착하는 시점은 예외입니다.
흐즈로는 이 규칙에 따라 세계 일주를 할 수 있을지 궁금했습니다. 세계 일주를 할 수 있는지 판단하고, 할 수 있다면 최소 비용을 출력해 주세요.
입력
첫 번째 줄에 국가의 개수 이 주어집니다. ()
두 번째 줄부터 개의 줄에 걸쳐 각 줄에 국가가 차지하는 점의 좌표인 두 정수 와 가 공백으로 구분되어 주어집니다. ()
서로 다른 두 국가가 같은 점을 차지하지 않으며, 어떤 세 국가도 한 직선 위에 있지 않음이 보장됩니다.
출력
흐즈로가 규칙에 따라 세계 일주를 할 수 있다면, 그 최소 비용을 한 줄에 출력합니다. 규칙에 따른 세계 일주가 불가능하다면, 을 한 줄에 출력합니다.
문제의 정답과 출력 간의 절대 오차 또는 상대 오차가 이하이면 정답으로 인정합니다.