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

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

겨울 도로

시간 제한10초메모리 제한128 MB

요약
도로 용량이 여러 번 바뀌는 상황에서 용량이 w 이상인 도로만 이용해 두 지점이 연결되는지 묻는 질의에 답한다.
난이도

어려움10점 중 8점

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

문제

겨울이 다가오고, 윈터펠(Winterfell)의 주민들은 긴 겨울을 준비하고 있다. 가장 큰 걱정거리 중 하나는 도로와 다리의 안정성이다. 계절이 깊어지는 동안에도 보급로가 끊기지 않고 유지되어야 한다.

이 도시의 토목 기술자들은 도로가 파손되거나 보수되는 여러 상황을 모형으로 만들고자 한다. 이 모형에서 각 도로는 두 지점을 연결하며, 각 도로에는 견딜 수 있는 하중(수용 용량)이 정해져 있다. 트럭은 지점에서 지점으로 이동하는데, 충분히 튼튼한 도로로만 지나갈 수 있다. 구체적으로, 무게가 ww인 보급 트럭은 용량이 cc인 도로를 w≤cw \le c일 때에만 지날 수 있다.

시간이 지나면서 마모나 사고로 도로의 용량이 줄어들 수도 있고, 보수를 통해 용량이 늘어날 수도 있다. 이렇게 도로 상태가 바뀌는 동안에도 기술자들은 트럭이 출발 지점에서 도착 지점까지 갈 수 있는지 확인하고자 한다.

도로에 대한 일련의 변경과 몇 번의 보급 트럭 운행이 주어질 때, 각 운행에 대해 보급품을 여전히 전달할 수 있는지 판정하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 두 정수 nn과 mm이 주어진다 (1≤n≤10001 \le n \le 1000, 1≤m≤1000001 \le m \le 100000). 여기서 nn은 지점의 수, mm은 도로의 수이다.

이어지는 mm개의 줄에는 각각 세 정수 aa, bb, cc가 주어진다 (1≤a,b≤n1 \le a, b \le n, 1≤c≤1091 \le c \le 10^9). 이는 지점 aa와 bb를 잇는, 용량이 cc인 도로를 뜻한다. 도로는 입력에 나타난 순서대로 1,2,…,m1, 2, \dots, m번으로 번호가 매겨진다.

그다음 줄에는 이벤트의 수를 나타내는 정수 ee가 주어진다 (1≤e≤1000001 \le e \le 100000). 이어지는 ee개의 줄은 각각 대문자 하나와 여러 정수로 이루어진다.

  • B r c: 도로 rr이 파손되어 용량이 cc로 줄어든다 (1≤r≤m1 \le r \le m, 1≤c<1091 \le c < 10^9).
  • R r c: 도로 rr이 보수되어 용량이 cc로 늘어난다 (1≤r≤m1 \le r \le m, 1<c≤1091 < c \le 10^9).
  • S a b w: 무게가 ww인 보급 트럭이 지점 aa에서 지점 bb까지 갈 수 있는지 묻는 질의이다 (1≤a,b≤n1 \le a, b \le n, 1≤w≤1091 \le w \le 10^9).

대문자는 B, R, S만 나타난다. 모든 이벤트는 주어진 순서대로 적용된다. 파손·보수(B/R) 이벤트는 전체에서 최대 20002000개이다. 입력은 두 개의 0으로 이루어진 줄로 끝난다.

출력

각 S a b w 질의에 대해, 주어진 순서대로 답을 출력한다. 지점 aa에서 bb까지 모든 도로의 용량이 ww 이상인 경로가 존재하면 1을, 그렇지 않으면 0을 출력한다. 각 답은 한 줄에 하나씩 출력하며, 불필요한 공백이나 빈 줄을 넣지 않는다.

예제1

  1. 예제 1

    입력
    3 4
    1 2 3
    2 3 3
    2 1 1
    1 2 1
    6
    S 1 2 4
    S 2 3 2
    R 1 4
    S 1 2 4
    B 2 1
    S 2 3 2
    0 0
    
    예상 출력
    0
    1
    1
    0