시간 제한
메모리 제한
시간 제한
4초
메모리 제한
1024 MB
세훈이와 찬우는 많은 그래프 문제를 풀면서 좋은 그래프 문제의 조건을 생각하게 되었다.
두 사람은 위 조건을 모두 만족하는 그래프를 1 && 3 그래프라고 부르기로 했다. 정점이 V개, 간선이 E개인 1 && 3 그래프가 주어진다. 두 정점 사이의 최단 거리를 묻는 쿼리 Q개를 처리하는 프로그램을 작성하라.
첫째 줄에 정점의 개수 V, 간선의 개수 E, 쿼리의 수 Q가 공백으로 구분되어 주어진다. (2≤V≤500000;V−1≤E≤500000;1≤Q≤200000)
다음 E개의 줄에는 각 간선이 잇는 두 정점 x, y와 간선의 가중치 c가 공백으로 구분되어 주어진다. (1≤x,y≤V;1≤c≤109;x=y)
그 다음 Q개의 줄에는 두 정점 a, b가 공백으로 구분되어 주어진다. 이는 a번 정점과 b번 정점 사이의 최단 거리를 묻는 쿼리이다. (1≤a,b≤V)
입력으로 주어지는 모든 수는 정수이며, 주어지는 그래프는 1 && 3 그래프이다.
Q개의 줄에 걸쳐 각 쿼리의 정답을 입력 순서대로 한 줄에 하나씩 출력한다.