아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

모든 길은 로마로 통한다

시간 제한1초메모리 제한128 MB

요약
연결된 가중 그래프에서 두 허브를 정하고 모든 노드를 허브에 배정해, 모든 순서쌍의 경로 길이 합이 최소가 되게 한다.
난이도

보통10점 중 7점

유형
그래프, 최단 경로, 그리디, 완전 탐색
정답자
아직 제출이 없습니다

문제

어떤 도시를 여러 개의 장소(정점)와 도로 구간(간선)으로 나타낸다. 한 친구는 외워야 하는 경로의 수를 줄이려고 독특한 방식으로 이동한다. 먼저 서로 다른 두 장소를 허브 H1H_1, H2H_2 로 정한다. 그런 다음 나머지 모든 장소를 H1H_1 또는 H2H_2 중 하나에 배정하고, 각 장소에서 자신이 배정된 허브까지의 최단 경로와 두 허브 사이의 최단 경로만 외운다. (허브 자신은 자기 자신에게 배정된 것으로 본다.)

장소 AA 에서 장소 BB 로 이동할 때 친구의 경로 길이는 다음과 같이 정의한다. h(v)h(v) 를 장소 vv 가 배정된 허브, sp(x,y)\mathrm{sp}(x, y) 를 도로망에서 xx 와 yy 사이의 최단 거리라 하자.

  • h(A)=h(B)h(A) = h(B) 이면: sp(A,h(A))+sp(h(A),B)\mathrm{sp}(A, h(A)) + \mathrm{sp}(h(A), B)
  • h(A)≠h(B)h(A) \ne h(B) 이면: sp(A,h(A))+sp(h(A),h(B))+sp(h(B),B)\mathrm{sp}(A, h(A)) + \mathrm{sp}(h(A), h(B)) + \mathrm{sp}(h(B), B)

즉 친구는 언제나 자신의 허브를 먼저 들르고, 목적지의 허브가 다르면 그 허브까지 이동한 뒤 목적지로 간다.

두 허브의 선택과 나머지 장소들의 배정을 자유롭게 정할 수 있다. 서로 다른 모든 장소 순서쌍 (A,B)(A, B) 에 대한 친구 경로 길이의 총합을 최소로 만들어라. (장소 개수는 고정이므로 이 총합을 최소화하는 것은 모든 이동의 평균 거리를 최소화하는 것과 같다.) 그 최소 총합을 출력한다.

입력

입력의 첫 줄에 테스트 케이스의 개수 TT 가 주어진다.

각 테스트 케이스의 첫 줄에는 두 정수 nn 과 mm 이 주어진다 (2≤n≤502 \le n \le 50, 1≤m≤10001 \le m \le 1000). nn 은 도시의 장소 수, mm 은 두 장소를 직접 잇는 도로 구간의 수이다. 한 쌍의 장소 사이에 도로 구간이 여러 개 있을 수 있고, 시작과 끝이 같은 도로 구간도 있을 수 있다.

이어지는 mm 개의 줄에는 각각 세 정수 aa, bb, dd 가 주어지며 (1≤a≤n1 \le a \le n, 1≤b≤n1 \le b \le n, 1≤d≤10001 \le d \le 1000), 장소 aa 와 bb 를 잇는 도로 구간의 길이가 dd 임을 뜻한다. 모든 도로는 양방향이다.

임의의 두 장소 사이에는 항상 도로를 따라가는 경로가 존재한다.

출력

각 테스트 케이스마다 한 줄에 정수 하나를 출력한다: 서로 다른 모든 장소 순서쌍 (A,B)(A, B) 에 대한 친구 경로 길이 총합의 최솟값. 최솟값은 두 허브의 선택과 나머지 장소들의 허브 배정을 모두 고려하여 정한다.

예제2

  1. 예제 1

    입력
    3
    3 2
    1 2 40
    2 3 20
    7 10
    1 1 1
    1 2 2
    2 4 2
    4 3 2
    3 1 2
    2 3 5
    3 7 10
    7 6 1
    5 6 1
    4 5 1
    16 15
    1 8 1
    2 8 1
    3 8 1
    4 9 1
    5 9 1
    6 9 1
    7 8 1
    8 9 3
    9 10 1
    8 11 1
    8 12 1
    8 13 1
    9 14 1
    9 15 1
    9 16 1
    
    예상 출력
    240
    156
    804
    
  2. 예제 2

    입력
    1
    2 1
    1 2 5
    
    예상 출력
    10