만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

축지법

시간 제한2초메모리 제한1024 MB

요약
도로로 이어진 N개 장소에서 각 질의마다 s에서 e까지 가는 최소 시간을 구합니다. 1분짜리 순간이동은 도로로 갈 수 없는 장소로만 할 수 있습니다.
난이도

보통10점 중 5점

유형
그래프, BFS
정답자
아직 제출이 없습니다

문제

A씨는 출근 시간에 심각한 교통 체증으로 골머리를 앓고 있다. A씨의 활동 범위에는 11번부터 NN번까지 NN개의 지점과, 서로 다른 두 지점을 잇는 MM개의 양방향 도로가 있다. 각 도로를 지나는 데는 11분이 걸린다.

훌륭한 도술가인 A씨는 축지법을 써서 각 지점에서 원하는 지점으로 11분 만에 이동할 수 있다. 하지만 현재 지점에서 도로를 00개 이상 거쳐 도착할 수 있는 지점으로 축지법을 쓰는 것은 새치기로 간주되어, 도술가 윤리 강령에서 엄격히 금하고 있다.

출발점과 도착점이 QQ쌍 주어질 때, 각 쌍마다 출발점에서 도착점으로 이동하는 데 걸리는 최소 시간을 구해 보자.

입력

첫 번째 줄에 지점의 수 NN, 도로의 수 MM, 질문의 수 QQ가 공백으로 구분되어 주어진다. (2≤N≤1092 \le N \le 10^9; 1≤M≤2 0001 \le M \le 2\,000; 1≤Q≤5×1051 \le Q \le 5 \times 10^5)

다음 MM개의 줄에 걸쳐 한 줄에 하나씩 각 도로 양 끝 지점의 번호 uu, vv가 공백으로 구분되어 주어진다. (1≤u<v≤N1 \le u \lt v \le N) 두 도로의 양 끝 지점이 모두 같은 경우는 없다.

다음 QQ개의 줄에 걸쳐 한 줄에 하나씩 출발점의 번호 ss와 도착점의 번호 ee가 공백으로 구분되어 주어진다. (1≤s,e≤N1 \le s, e \le N)

출력

각 쌍마다 출발점에서 도착점으로 이동하는 데 걸리는 최소 시간을 한 줄에 하나씩 QQ줄에 걸쳐 출력한다.

예제1

  1. 예제 1

    입력
    5 3 5
    1 2
    1 3
    3 4
    1 1
    1 2
    1 4
    4 2
    5 1
    
    예상 출력
    0
    1
    2
    2
    1