농장과 공장

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

요약
두 특수 노드(농장, 공장)가 있는 가중 그래프에서 새 수도로 가는 도로 통행료를 정해 모든 도시의 최단경로가 수도를 거치지 않도록 하면서 평균 거리를 최소화하고 그 값을 기약분수로 구하는 문제입니다.
난이도

어려움10점 중 9점

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

문제

바이트랜드의 국왕 비톨로뮤 만세!

비톨로뮤 국왕이 다스리는 바이트랜드는 작은 나라이다. 국왕을 제외한 모든 국민은 서로 다른 두 도시에 위치한 농장 또는 공장 중 한 곳에서 일한다. 그래서 매일 아침 각 도시의 주민들은 이 두 도시로 출근한다.

바이트랜드의 도로망은 서로 다른 두 도시를 잇는 무방향 도로들로 이루어져 있다. 도로는 도시에서만 만나며(다리와 터널은 허용된다), 같은 두 도시를 직접 잇는 도로가 여러 개 있을 수도 있다. 농장과 공장은 모든 도시에서 도달할 수 있다.

얼마 전 국왕은 모든 도로에 고정 통행료를 매겼다. 국민이 어떤 도로를 지날 때마다 그 도로의 통행료를 내야 한다. 그 뒤로 모든 국민은 통행료의 합이 최소가 되는 가장 저렴한 경로로 출근한다.

이제 국왕은 도시 하나를 새로 만들어 새 수도로 삼으려 한다. 새 수도는 기존 도시들 중 일부와 새 도로로 직접 연결되어, 모든 도시에 새 수도에서 도달할 수 있어야 한다. 새로 놓는 각 도로에는 임의의 음이 아닌 통행료(정수가 아니어도 된다)를 매길 수 있다.

국왕은 새 도로들의 통행료를, 수도가 아닌 모든 도시 vv에 대해 vv에서 농장까지의 가장 저렴한 경로와 vv에서 공장까지의 가장 저렴한 경로가 각각 존재하되 그 두 경로 모두 수도를 지나지 않도록 정하려 한다(여기서 vv는 농장이나 공장 도시일 수도 있다). 이 조건을 만족시키면서, 수도에서 각 도시까지의 가장 저렴한 경로 비용을 nn개의 모든 도시에 대해 평균한 값을 최소화하려 한다.

이 최소 평균 비용을 구하여 국왕을 도와라.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 각 테스트 케이스가 주어진다.

각 테스트 케이스의 첫째 줄에는 두 정수 nn, mm (2≤n≤1052 \le n \le 10^5, 1≤m≤3⋅1051 \le m \le 3\cdot10^5)이 주어진다. 각각 도시의 수와 도로의 수이다. 이어지는 mm개의 줄에는 각각 세 정수 uu, vv, cc (1≤u,v≤n1 \le u, v \le n, u≠vu \ne v, 0≤c≤1060 \le c \le 10^6)가 주어지며, 이는 도시 uu와 vv를 잇고 통행료가 cc인 도로를 나타낸다. 같은 두 도시를 잇는 도로가 여러 개일 수 있다.

농장은 11번 도시, 공장은 22번 도시이며, 둘 다 모든 도시에서 도달할 수 있다.

출력

각 테스트 케이스마다 최소 평균 비용을 한 줄에 출력한다.

답은 항상 유리수이다. 기약분수 p/q 형태로 출력하되 q≥1q \ge 1이고 gcd⁡(p,q)=1\gcd(p, q) = 1이어야 한다(답이 정수이면 q=1q = 1). 예를 들어 답이 116\tfrac{11}{6}이면 11/6으로, 답이 22이면 2/1로 출력한다.

예제3

  1. 예제 1

    입력
    1
    3 3
    1 2 5
    2 3 5
    3 1 1
    
    예상 출력
    11/6
    
  2. 예제 2

    입력
    1
    2 1
    1 2 4
    
    예상 출력
    2/1
    
  3. 예제 3

    입력
    1
    3 3
    1 2 2
    2 3 2
    3 1 2
    
    예상 출력
    1/1