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

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

본즈의 배터리

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

요약
충전 K번 이내에 모든 학교 사이를 오갈 수 있는 배터리 용량 최솟값을 구합니다.
난이도

보통10점 중 5점

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

문제

본즈는 어머니가 일하는 교육청에 들일 전기 셔틀버스를 알아보고 있다. 학교마다 충전소가 하나씩 있다. 완전히 충전한 셔틀버스가 달릴 수 있는 최대 거리를 주행 거리라고 하자.

어떤 학교에서 다른 어떤 학교로 가더라도 충전 횟수가 KK번을 넘지 않아야 한다. 셔틀버스의 배터리는 처음에 비어 있어서 길을 나서기 전에 반드시 한 번 충전해야 하고, 이 충전도 KK번에 포함된다. 가는 길에 들르는 학교에서는 다시 충전해도 된다.

두 학교를 잇는 도로는 많아야 하나이고, 어느 두 학교 사이에도 도로를 따라가는 경로가 있다. 도로망과 KK가 주어질 때, 전기 셔틀버스에 필요한 최소 주행 거리를 구하라.

입력

첫 줄에 테스트 케이스의 수 TT (1≤T≤501 \le T \le 50)가 주어진다.

각 테스트 케이스의 첫 줄에는 세 정수 NN, KK, MM (2≤N≤1002 \le N \le 100, 1≤K≤1001 \le K \le 100)이 주어진다. NN은 학교의 수, KK는 한 번의 이동에서 허용되는 최대 충전 횟수, MM은 도로의 수다.

다음 MM개의 줄에는 각각 세 정수 uiu_i, viv_i, did_i (0≤ui,vi<N0 \le u_i, v_i < N, ui≠viu_i \ne v_i, 1≤di≤1091 \le d_i \le 10^9)가 주어진다. ii번 도로는 학교 uiu_i와 학교 viv_i를 양방향으로 잇고, 길이는 did_i다. 학교 번호는 0부터 시작한다.

출력

각 테스트 케이스마다 필요한 최소 주행 거리를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    2
    4 2 4
    0 1 100
    1 2 200
    2 3 300
    3 0 400
    10 2 15
    0 1 113
    1 2 314
    2 3 271
    3 4 141
    4 0 173
    5 7 235
    7 9 979
    9 6 402
    6 8 431
    8 5 462
    0 5 411
    1 6 855
    2 7 921
    3 8 355
    4 9 113
    
    예상 출력
    300
    688
    
  2. 예제 2

    입력
    3
    5 1 4
    0 1 10
    1 2 10
    2 3 10
    3 4 10
    5 4 4
    0 1 10
    1 2 10
    2 3 10
    3 4 10
    5 2 4
    0 1 10
    1 2 10
    2 3 10
    3 4 10
    
    예상 출력
    40
    10
    20