페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
30000
ms
메모리 제한
1024
MB
당신은 다른 지역에서 온 방문객들을 맞이하고 있으며, 그들을 데리고 나가 마을에서 가장 흥미로운 장소들을 보여 주고 싶다.
관광하려는 흥미로운 명소가 개 있다. 당신은 개의 흥미로운 교통수단을 파악했다. 각 교통수단은 한 쌍의 명소를 양방향으로 연결한다. 다행히도, 어떤 교통수단도 한 번보다 많이 이용하지 않고 임의의 흥미로운 명소에서 다른 명소로 가는 방법은 정확히 하나뿐이다.
각 교통수단을 단 한 번 이용할 때 일행에게 드는 비용을 알고 있다(이용할 때마다 한 번씩 지불한다). 관광의 시작 명소와 끝 명소는 직접 정할 수 있으며, 두 명소는 같을 수도 있고 다를 수도 있다. 시작 지점까지 가는 비용이나 끝 지점에서 돌아오는 비용은 고려할 필요가 없으며, 관광 도중 명소 사이를 이동하는 교통비만 고려하면 된다. 각 명소를 적어도 한 번씩 모두 둘러보는 가장 저렴한 방법은 무엇인가?
시간 제한: 10초. 메모리 제한: 1 GB. . 모든 에 대해 . 입력으로 주어진 교통수단만 이용하여 어떤 명소 쌍 사이든 이동할 수 있다. (이 제한과 이전 제한으로부터 명소와 교통수단이 루트 없는 트리를 이룬다는 것을 알 수 있다.) 모든 에 대해 .
.
.
입력의 첫 줄에는 테스트 케이스의 수 가 주어진다. 이어서 개의 테스트 케이스가 주어진다. 각 테스트 케이스는 관광하려는 명소의 수를 나타내는 정수 하나 이 포함된 한 줄로 시작한다. 이어서 개의 줄이 주어진다. 이 줄들 중 -번째 줄에는 세 정수 , , 이 주어지며, 이는 -번째 교통수단을 이용할 때마다 코인의 비용으로 일행을 명소 에서 명소 으로, 또는 명소 에서 명소 로 이동시킬 수 있음을 나타낸다.
각 테스트 케이스마다 Case #$x$: $y$을 포함하는 한 줄을 출력한다. 여기서 는 1부터 시작하는 테스트 케이스 번호이고, 은 각 명소를 적어도 한 번 방문하는 관광의 최소 비용을 나타내는 정수이다.
3
6
1 3 10
4 5 10
3 4 10
4 6 20
2 3 30
6
1 3 35
4 5 10
3 4 10
4 6 20
2 3 30
5
1 3 1000000000
2 3 1000000000
3 4 1000000000
3 5 1000000000
Case #1: 100
Case #2: 145
Case #3: 6000000000
예제 케이스 #1에서(아래 그림 참조), 최적 경로는 다음 명소들을 지나간다: . 이 경로는 위 그림에서 빨간 선으로 표시되어 있다.

예제 케이스 #2에서(위 그림 참조), 예제 케이스 #1의 구성과 비교해 달라진 유일한 점은 명소 와 사이의 교통비가 에서 로 더 비싸졌다는 것이다. 이 상황에서 경로 의 비용은 이며, 이 경로는 최적이 아니다. 대신 최적 경로는 이며, 그림에도 빨간색으로 표시되어 있다.

예제 케이스 #3에서 답이 보다 클 수도 있다는 점에 유의하라.
Copyright Google LLC; sourced from the Google Coding Competitions Archive.
로그인 상태를 확인하는 중입니다.