만드는 중입니다

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

재귀 회로

시간 제한1초메모리 제한256 MB

요약
재귀적으로 복제된 회로 그래프에서 두 입력 접점을 잇는 최소 임계 중첩 깊이를 질의마다 구하고, 연결할 수 없으면 -1을 출력합니다.
난이도

보통10점 중 7점

유형
그래프, 유니온 파인드, 정렬
정답자
아직 제출이 없습니다

문제

재귀적인 초소형 회로의 배치에는 접점이 전부 NN개 있고, 그중 일부 접점 쌍은 도전성 경로로 직접 연결되어 있습니다. 이 회로에는 SS개의 하위 회로도 있으며, 각 하위 회로는 이 회로와 완전히 같은 복사본입니다.

회로 배치의 접점은 세 종류입니다.

  1. 회로의 입력 접점(KK개). 회로를 외부 도전성 경로와 잇는 유일한 접점입니다.
  2. 중첩된 하위 회로의 입력 접점(S⋅KS \cdot K개).
  3. 보조 접점.

이 접점들은 모두 제약 없이 도전성 경로로 서로 연결할 수 있습니다.

신호는 도전성 경로를 따라 이동합니다. 신호가 접점에 도달하면 그 접점에 연결된 경로 중 어느 것이든 따라갈 수 있습니다. 외부 신호가 하위 회로의 입력 접점에 도달하면 그 하위 회로 안으로 들어가 내부 경로를 따라 더 이동할 수 있습니다. 내부 신호가 하위 회로의 입력 접점에 도달하면 하위 회로 밖으로 나가 회로 바깥 경로를 따라 이동할 수 있습니다(바깥에 경로가 있고, 바깥 회로 자체가 다른 회로의 하위 회로인 경우에 한합니다).

가장 바깥 회로를 생각하며, 그 바깥에는 아무것도 없다고 합니다. 회로의 지정된 두 입력 접점이 경로로 연결되어 있는지 판정하십시오. 신호가 한쪽 접점에서 다른 쪽 접점으로 도달할 수 있으면 두 접점은 연결된 것입니다. 이때 신호는 여러 하위 회로에 유한한 횟수만큼 들어갈 수 있습니다.

연결 여부와 함께, 한 접점에서 다른 접점으로 가기 위해 신호가 하위 회로 안으로 얼마나 깊이 들어가야 하는지도 구하십시오. 가장 바깥 회로의 중첩 깊이는 0이고, 그 하위 회로의 깊이는 1, 그 하위 회로의 하위 회로는 2이며 이런 식입니다. 신호 경로마다, 신호가 지나가는 도전성 경로가 속한 회로들의 중첩 깊이 중 최댓값을 임계 깊이라고 합니다. 가장 바깥 회로의 두 지정된 입력 접점 사이 경로들에 대해 임계 깊이의 최솟값을 구하십시오.

입력

첫 줄에 정수 네 개 NN(배치의 접점 수), KK(회로의 입력 접점 수), SS(하위 회로 수), MM(도전성 경로 수)이 주어집니다(1≤K≤1000001 \le K \le 100000, 0≤S≤10000 \le S \le 1000, K(S+1)≤N≤100000K (S + 1) \le N \le 100000, 0≤M≤1000000 \le M \le 100000).

이어지는 MM개의 줄에는 각각 경로로 직접 연결된 두 접점의 번호 aa와 bb가 주어집니다(1≤a≠b≤N1 \le a \neq b \le N).

접점은 1부터 NN까지 번호가 매겨져 있습니다. 회로의 입력 접점은 1부터 KK까지 번호가 매겨져 있습니다. tt번째 하위 회로의 입력 접점은 tK+1tK + 1부터 tK+KtK + K까지 번호가 매겨져 있습니다(1≤t≤S1 \le t \le S). tt번째 하위 회로의 jj번째 입력 접점은 바깥 회로 배치의 (tK+j)(tK + j)번째 접점입니다. 나머지 접점이 있다면 보조 접점입니다.

다음 줄에는 질의 수 QQ가 주어집니다(1≤Q≤1000001 \le Q \le 100000). 이어지는 QQ개의 줄에는 각각 가장 바깥 회로의 입력 접점 번호 uu와 vv가 주어집니다(1≤u≠v≤K1 \le u \neq v \le K).

출력

QQ개의 정수를 한 줄에 하나씩 출력하십시오. rr번째 수는 rr번째 질의에서 한 입력 접점에서 다른 입력 접점으로 가는 데 필요한 중첩 깊이입니다. 다른 입력 접점에 도달할 수 없으면 깊이 대신 −1-1을 출력하십시오.

힌트

예제1

  1. 예제 1

    입력
    16 5 2 7
    1 16
    2 16
    6 16
    7 11
    3 12
    4 13
    5 15
    4
    1 2
    2 3
    3 4
    4 5
    
    예상 출력
    0
    1
    2
    -1