지하 비밀 기지 침략 대작전

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

요약
각 통로는 카드 키 타입 구간으로 열리며, 여러 질의마다 주어진 키 구간을 모두 가진 상태에서 두 방이 연결되는지 판정한다.
난이도

어려움10점 중 8점

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

문제

경기과학고등학교의 지하 기지에는 수억 원 가치의 보석이 숨겨져 있다. 이 사실을 알게 된 엘투는 경기과학고등학교 지하 기지를 몰래 침입하여 보석을 훔치려고 한다. 하지만, 엘투는 곧 지하 기지가 매우 복잡한 구조로 이루어져 있다는 사실을 알게 된다. 지하 기지는 방과 방 사이가 몇몇 통로로 연결된 그래프 모양을 하고 있다. 방의 개수는 NN개이고, 통로의 개수는 MM개이다. 그리고, 철저한 보안을 위해 각각의 통로는 도어락으로 단단히 잠겨져 있다. 통로 중에는 ****같은 방으로 다시 돌아오는 것도 존재할 수 있다.

지하 기지에 대해 구체적으로 조사한 결과는 다음과 같다. 도어락을 열기 위한 도구로서 총 KK가지의 각기 다른 카드 키가 있다. 각각의 카드 키를 분간하기 위해, 카드 키에는 타입이라고 하는 KK 이하의 양의 정수가 부여되어 있다. 이때, ii번째 통로의 도어락에는 두 정수 L_iL\_i, R_iR\_i가 배정되어 있다. (단, 1≤i≤M1 \leq i \leq M, 1≤L_i≤R_i≤K1 \leq L\_i \leq R\_i \leq K) 이는 만약 엘투가 타입 L_iL\_i, 타입 L_i+1L\_i + 1, ⋯\cdots, 타입 R_iR\_i의 카드 키 중 하나라도 소지하고 있다면, ii번째 통로의 도어락을 열 수 있음을 의미한다. 카드 키는 영구적으로 사용할 수 있다.

엘투는 지하 기지의 외형에 대한 정보는 전부 구해 놓았지만, 아직 보석의 정확한 위치를 모르고 있다. 심지어, 아직 엘투 수중에는 KK 종류의 카드 키조차 없다. 따라서, 이 대작전을 시행하기에 앞서, 엘투는 QQ번의 시뮬레이션을 통해 각각의 상황마다 작전의 성공 여부를 판단하고자 했다.

jj번째 시뮬레이션은 다음과 같이 진행된다. (단, 1≤j≤Q1 \leq j \leq Q) 각각의 시뮬레이션은 네 개의 정수 X_jX\_j, Y_jY\_j, U_jU\_j, V_jV\_j로 이루어진다. (단, 1≤X_j≤N1 \leq X\_j \leq N, 1≤Y_j≤N1 \leq Y\_j \leq N, 1≤U_j≤V_j≤K1 \leq U\_j \leq V\_j \leq K) 이는 엘투가 X_jX\_j번째 방에서 시작하여, 보석이 있는 위치, 곧 Y_jY\_j번째 방에 도달하고자 함을 의미한다. 이때, jj번째 시뮬레이션은 엘투가 타입 U_jU\_j, 타입 U_j+1U\_j + 1, ⋯\cdots, 타입 V_jV\_j의 카드 키를 모두 소지하고 있을 때 보석이 있는 방에 도달하는 경로가 있는지를 판단해야 한다.

엘투는 동료인 당신에게 이 시뮬레이션 구현을 대신 맡겼다. 이 대작전의 성공을 위하여, 시뮬레이션을 구현해 보자.

입력

첫 번째 줄에 N,M,KN, M, K가 공백으로 구분되어 주어진다. 각각 방의 개수, 통로의 개수, 카드 키의 총 종류를 의미한다.

두 번째 줄부터 MM개의 줄 중 ii번째 줄에 A_iA\_i, B_iB\_i, L_iL\_i, R_iR\_i가 공백으로 구분되어 주어진다. 이는 ii번째 통로가 A_iA\_i번째 방과 B_iB\_i번째 방을 잇고 있음을 의미한다. 또, L_iL\_i와 R_iR\_i는 ii번째 통로의 도어락을 열 수 있는 카드 키의 타입에 대한 정보를 담고 있다.

그 다음 줄에는 QQ가 주어진다.

그 다음 줄부터 QQ개의 줄 중 ii번째 줄에는 시뮬레이션의 내용 X_iX\_i, Y_iY\_i, U_iU\_i, V_iV\_i가 공백으로 구분되어 주어진다.

출력

첫 번째 줄부터 QQ개의 줄 중 jj번째 줄에 jj번째 시뮬레이션에 대한 답변을 출력한다.

만약, jj번째 시뮬레이션에서 엘투가 보석에 도달할 수 있다고 판단된다면 11을 출력한다.

그렇지 않다면 00을 출력한다.

제한

  • 1≤N≤501 \leq N \leq 50 000000
  • 1≤M≤501 \leq M \leq 50 000000
  • 1≤K≤1091 \leq K \leq 10^9
  • 1≤Q≤1001 \leq Q \leq 100 000000
  • 1≤A_i,B_i≤N1 \leq A\_i, B\_i \leq N (단, 1≤i≤M1 \leq i \leq M)
  • 1≤L_i≤R_i≤K1 \leq L\_i \leq R\_i \leq K (단, 1≤i≤M1 \leq i \leq M)
  • 1≤X_j,Y_j≤N1 \leq X\_j, Y\_j \leq N (단, 1≤j≤Q1 \leq j \leq Q)
  • 1≤U_j≤V_j≤K1 \leq U\_j \leq V\_j \leq K (단, 1≤j≤Q1 \leq j \leq Q)

힌트

문제 제목에 1급 한자를 넣으려고 했으나 실패했다.

예제2

  1. 예제 1

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

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