아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

교역 계획

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

요약
각 도시가 주(州)에 속하는 무방향 그래프에서 두 도시가 각자의 주에 속한 도시만 지나서 연결될 수 있는지 묻는 질의에 답한다.
난이도

어려움10점 중 8점

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

문제

JOI 연방에는 1부터 N까지 번호가 붙은 N개의 도시와, 1부터 M까지 번호가 붙은 M개의 도로가 있다. 도로 i(1 ≤ i ≤ M)는 도시 Ui와 도시 Vi를 양방향으로 연결한다.

JOI 연방은 1부터 K까지 번호가 붙은 K개의 주로 이루어져 있다. 도시 j(1 ≤ j ≤ N)는 주 Sj에 속한다. 또한 어느 주도 도시를 적어도 1개 포함한다.

JOI 연방의 산업 장관인 K 이사장은 앞으로 Q번의 교역을 하고자 한다. k번째 교역(1 ≤ k ≤ Q)은 도시 Ak에서 도시 Bk로 몇 개의 도로와 도시를 지나 특산품을 수송하는 것이다. 다만 이 교역에 협력해 주는 것은 주 SAk와 주 SBk뿐이며(SAk = SBk인 경우에는 주 SAk뿐), 이 주에 속하지 않은 도시를 지나면 특산품을 도둑맞는다.

K 이사장은 특산품을 도둑맞지 않도록 교역할 수 있는 수송 경로가 있는지 알고 싶다. 도시와 도로의 배치, 주와 교역의 정보가 주어졌을 때, 각 교역에서 특산품을 무사히 배달할 수 있는지 판정하는 프로그램을 작성하시오.

입력

입력은 다음 형식으로 표준 입력에서 주어진다.

N M K
U1 V1
U2 V2
:
UM VM
S1 S2 … SN
Q
A1 B1
A2 B2
:
AQ BQ

출력

표준 출력에 Q행으로 출력하시오. k행째(1 ≤ k ≤ Q)에는 k번째 교역에서 특산품을 배달할 수 있으면 1을, 불가능하면 0을 출력하시오.

제한

  • 2 ≤ N ≤ 400 000.
  • 1 ≤ M ≤ 400 000.
  • 1 ≤ K ≤ N.
  • 1 ≤ Ui < Vi ≤ N (1 ≤ i ≤ M).
  • (Ui, Vi) ≠ (Uj, Vj) (1 ≤ i < j ≤ M).
  • 1 ≤ Sj ≤ K (1 ≤ j ≤ N).
  • 모든 l(1 ≤ l ≤ K)에 대해 Sj = l인 j(1 ≤ j ≤ N)가 존재한다.
  • 1 ≤ Q ≤ 400 000.
  • 1 ≤ Ak ≤ N (1 ≤ k ≤ Q).
  • 1 ≤ Bk ≤ N (1 ≤ k ≤ Q).
  • Ak ≠ Bk (1 ≤ k ≤ Q).
  • 입력되는 값은 모두 정수이다.

예제4

  1. 예제 1

    입력
    4 3 2
    1 2
    2 3
    3 4
    1 2 1 2
    3
    1 2
    1 3
    1 4
    
    예상 출력
    1
    0
    1
    
  2. 예제 2

    입력
    4 2 1
    1 3
    2 4
    1 1 1 1
    4
    1 2
    1 3
    2 3
    2 4
    
    예상 출력
    0
    1
    0
    1
    
  3. 예제 3

    입력
    6 5 3
    1 2
    3 4
    5 6
    1 4
    3 5
    1 1 2 2 3 3
    4
    1 4
    1 5
    3 6
    4 3
    
    예상 출력
    1
    0
    1
    1
    
  4. 예제 4

    입력
    8 11 3
    4 8
    1 8
    4 6
    3 5
    2 4
    7 8
    6 7
    3 4
    1 4
    2 3
    3 8
    2 3 1 1 2 1 2 1
    10
    8 2
    8 1
    2 7
    5 3
    5 7
    4 8
    1 8
    6 8
    6 5
    1 8
    
    예상 출력
    1
    1
    0
    1
    0
    1
    1
    1
    1
    1