도시 1에서 시작해 모든 도시를 정복하되, k번째로 정복하는 도시의 비용은 간선 비용에 (k-1)*t를 더한 값이며, 총비용을 최소로 만든다.
보통7최소 신장 트리그리디그래프정렬면접 대비아직 제출이 없습니다시간 제한2초메모리 제한256 MB서강 나라는 N개의 도시와 M개의 도로로 이루어져 있다. 도로는 모두 양방향이고, 어느 두 도시 사이에도 도로를 따라가는 경로가 있다. 도로마다 지나는 데 드는 비용이 정해져 있다. 도시에는 1번부터 N번까지 번호가 붙어 있고, 1번 도시의 군주 박건은 모든 도시를 정복하려 한다.
처음에 점거한 도시는 1번 도시뿐이다. 도시 B를 정복하려면 B와 도로로 이어진 도시 가운데 적어도 하나를 이미 정복하고 있어야 한다. 조건을 만족하는 도시 중 하나인 A를 고르면, B를 정복하는 과정에서 A와 B를 잇는 도로의 비용이 든다. 박건은 한 번에 한 도시씩 정복을 시도하고 언제나 성공한다. 도시가 하나 정복될 때마다 남은 도시가 경계 태세에 들어가서 모든 도로의 비용이 t만큼 오른다. 한 번 정복한 도시는 다시 정복하지 않는다.
박건이 모든 도시를 정복하는 데 드는 최소 비용을 구하라.
첫째 줄에 도시의 수 N, 도로의 수 M, 정복이 한 번 일어날 때마다 오르는 도로 비용 t가 주어진다. N은 10000 이하의 자연수, M은 30000 이하의 자연수, t는 10 이하의 자연수이다.
이어지는 M개의 줄에는 도로를 나타내는 자연수 세 개 A, B, C가 주어진다. A번 도시와 B번 도시를 잇는 비용 C의 도로가 있다는 뜻이다. A와 B는 서로 다른 N 이하의 자연수이고, C는 10000 이하의 자연수이다. 같은 두 도시를 잇는 도로가 여러 개 있을 수도 있다.
모든 도시를 정복하는 데 드는 최소 비용을 출력한다.
첫 번째 예제에서는 먼저 1번 도시와 이어진 3번 도시를 정복한다. 정복하는 데 2의 비용이 든다. 3번 도시를 정복한 뒤 모든 도로의 비용이 8만큼 오른다. 지금 점거한 도시는 1번과 3번이다.
4번 도시는 점거하고 있는 3번 도시와 이어져 있어서 3번 도시에서 정복할 수 있고, 3번 도시와 4번 도시를 잇는 도로의 비용 1+8이 든다. 점거한 도시는 1번, 3번, 4번이 된다.
2번 도시도 점거하고 있는 3번 도시와 이어져 있어서 정복할 수 있다. 정복하는 과정에서 2번 도시와 3번 도시를 잇는 도로의 비용 2+8+8이 든다. 이렇게 하면 모든 도시를 정복한다.
결과적으로 2+(1+8)+(2+8+8)=29의 비용이 든다.