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