축지법
시간 제한2초메모리 제한1024 MB
정점이 10억 개까지 있고 간선은 2000개뿐인 그래프에서, 연결 성분 사이는 1분 만에 순간이동할 수 있지만 같은 성분 안에서는 금지될 때 두 지점 사이의 최단 시간을 50만 개 질의에 답한다.
문제
A씨는 출근 시간 심각한 교통 체증에 골머리를 앓고 있다. A씨의 활동 범위에는 번부터 번까지 개의 지점과 서로 다른 두 지점을 잇는 개의 양방향 도로가 있다. 각 도로를 지나는 데는 분이 걸린다.
훌륭한 도술가 A씨는 축지법을 써서 각 지점에서 원하는 지점으로 분 만에 이동할 수 있다. 하지만 현재 지점에서 개 이상의 도로를 거쳐 도착할 수 있는 지점의 경우, 축지법으로 즉시 이동하는 것을 새치기로 간주하여 도술가 윤리 강령에서 엄격히 금하고 있다.
출발점과 도착점이 쌍 주어질 때, 각 쌍마다 출발점에서 도착점으로 이동하는 데 걸리는 최소 시간을 구해 보자.
입력
첫 번째 줄에 지점의 수 과 도로의 수 , 질문의 수 가 공백으로 구분되어 주어진다. (; ; )
다음 개의 줄에 걸쳐 한 줄에 하나씩 각 도로 양 끝 지점의 번호 , 가 공백으로 구분되어 주어진다. () 어떤 두 도로도 양 끝 지점이 모두 같지 않다.
다음 개의 줄에 걸쳐 한 줄에 하나씩 출발점의 번호 와 도착점의 번호 가 공백으로 구분되어 주어진다. ()
출력
각 쌍마다 출발점에서 도착점으로 이동하는 데 걸리는 최소 시간을 한 줄에 하나씩 줄에 걸쳐 출력한다.