SOJ ONLINE JUDGE

문제 154

여러 정점 쌍의 최소 컷

내 상태
미제출
난이도
154번 문제 난이도 보기
Diamond II
출제자
rlatjwls7882
시간 제한
5000 ms
메모리 제한
1024 MB
154번 문제 태그 보기
구현

정점이 $N$개이고 간선이 $M$개인 무방향 그래프와 $K$개의 정점 쌍이 주어진다. 정점의 번호는 $0$부터 $N-1$까지이며, 간선의 가중치는 음이 아닌 정수이다. 자기 루프는 없고 중복 간선은 있을 수 있으며, 그래프가 연결되어 있지 않을 수도 있다.

각 정점 쌍 $(s, t)$에 대해 두 정점이 연결되지 않도록 삭제할 간선의 가중치 합의 최솟값을 구해 보자. 각 정점 쌍은 처음 주어진 그래프에 대해 독립적으로 처리한다.

입력

첫 번째 줄에 테스트 케이스의 수를 의미하는 정수 $Q$가 주어진다. $(1 \le Q \le 100)$

각 테스트 케이스의 첫 번째 줄에 세 정수 $N$, $M$, $K$가 공백으로 구분되어 주어진다. $(2 \le N \le 100; 0 \le M \le 200\,000; 1 \le K \le 10\,000)$

두 번째 줄부터 $M$개의 줄에 걸쳐 간선의 양 끝 정점 번호 $u$, $v$와 가중치 $w$가 공백으로 구분되어 주어진다. $(0 \le u, v < N; u \ne v; 0 \le w \le 10^6)$

그다음 줄부터 $K$개의 줄에 걸쳐 두 정점 번호 $s$, $t$가 공백으로 구분되어 주어진다. $(0 \le s, t < N; s \ne t)$

전체 테스트 케이스에서 $N$의 합은 $300$ 이하이고 $M$의 합은 $300\,000$ 이하이다.

출력

각 테스트 케이스마다 정점 쌍이 주어진 순서대로, 삭제할 간선의 가중치 합의 최솟값을 한 줄에 하나씩 출력한다.

예제 입력 1

3
5 6 10
0 1 3
0 2 4
0 4 1
1 2 3
1 3 5
2 4 0
0 1
0 2
0 3
0 4
1 2
1 3
1 4
2 3
2 4
3 4
6 6 15
0 2 3
1 2 4
1 3 2
1 4 2
2 4 0
3 5 4
0 1
0 2
0 3
0 4
0 5
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5
4 1 6
0 1 0
0 1
0 2
0 3
1 2
1 3
2 3

예제 출력 1

6
7
5
1
6
5
1
5
1
1
3
3
2
2
2
4
2
2
2
2
2
2
2
4
2
0
0
0
0
0
0

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.