농장 이전
시간 제한1초메모리 제한128 MB
시장이 있는 마을이 최대 5개인 가중 무방향 그래프에서 시장이 없는 마을 하나를 집으로 정하고 모든 시장을 방문해 돌아오는 최단 경로를 구한다.
문제
농부 John이 이사를 준비하고 있습니다! 그는 매일 이동해야 하는 거리를 최소화할 수 있도록 새 농장을 지을 최적의 위치를 찾으려 합니다.
John이 이사할 지역에는 개의 마을이 있습니다 (). 특정 마을 쌍을 잇는 양방향 도로가 개 있습니다 (). 모든 마을은 도로들을 적절히 조합하면 서로 오갈 수 있습니다. John은 새 농장을 지을 가장 좋은 마을을 고르는 데 도움이 필요합니다.
개의 마을에는 시장이 있으며 (), John은 매일 이 시장들을 모두 방문하려 합니다. 구체적으로 그는 매일 새 농장을 나서서 시장이 있는 개의 마을을 모두 방문한 뒤 다시 농장으로 돌아옵니다. 시장을 방문하는 순서는 자유롭게 정할 수 있습니다. 농장을 지을 마을을 고를 때, 집값이 더 싼 곳을 원하므로 시장이 없는 개의 마을 중에서만 고릅니다.
John이 농장을 최적의 위치에 짓고 시장을 방문하는 순서도 가장 현명하게 정했을 때, 하루에 이동해야 하는 최소 거리를 구하세요.
입력
- 첫째 줄: 공백으로 구분된 세 정수 , , .
- 다음 개의 줄: 번째 줄에는 번째 시장이 있는 마을의 번호가 주어집니다 ( 번호 ). 각 시장은 서로 다른 마을에 있습니다.
- 그다음 개의 줄: 각 줄에는 공백으로 구분된 세 정수 , (), ()이 주어지며, 마을 와 마을 를 잇는 길이 의 도로가 있음을 뜻합니다.
출력
- 첫째 줄: John이 농장을 최적의 위치에 지었을 때 하루에 이동해야 하는 최소 거리를 출력합니다.
힌트
예를 들어 마을이 개, 도로가 개이고 마을 , , 에 시장이 있다고 합시다. 이때 John은 마을 에 농장을 짓는 것이 최적입니다. 하루 경로는 가 되어 총 이동 거리는 입니다.