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

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

다리

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

요약
북쪽은 동쪽으로 남쪽은 서쪽으로 이동하는 일방통행 도로에 서로 교차하지 않는 다리를 추가하고 일부 도로를 폐쇄한 뒤 두 마을 사이 도달 가능 여부를 묻습니다.
난이도

어려움10점 중 8점

유형
그래프, 구간, 이분 탐색
정답자
아직 제출이 없습니다

문제

강을 사이에 두고 북쪽과 남쪽에 각각 NN개의 마을이 있다. 북쪽 마을은 11부터 NN, 남쪽은 N+1N+1부터 2N2N까지 번호가 붙는다. 같은 강변에서 동쪽에 있는 마을일수록 번호가 크다.

북쪽 강변에는 각 마을(마을 NN 제외)에서 바로 동쪽 이웃으로 가는 일방통행 도로가 있다. 남쪽 강변에는 각 마을(마을 N+1N+1 제외)에서 바로 서쪽 이웃으로 가는 일방통행 도로가 있다.

도로는 안전상의 이유로 영구 폐쇄될 수 있다. 강을 가로지르는 다리는 반대편 두 마을을 양방향으로 연결하며, 한 번 지으면 무너지지 않는다. 다리는 서로 교차하지 않으며, 각 마을은 반대편과 최대 한 개의 다리로만 연결된다.

초기에는 모든 도로가 열려 있고 다리는 없다. 이후 MM개의 사건이 시간 순으로 주어진다.

  • A G1 G2: 마을 G1G1과 G2G2 사이에 다리를 건설한다.
  • B G1 G2: 마을 G1G1과 G2G2 사이의 일방통행 도로를 폐쇄한다.
  • Q G1 G2: 현재 도로와 다리만으로 G1G1에서 G2G2로 갈 수 있는지 묻는다.

입력

첫 줄에 NN (1≤N≤1091 \le N \le 10^9)과 MM (1≤M≤200 0001 \le M \le 200\,000)이 주어진다.

다음 MM줄에 사건이 주어진다. 각 사건의 마을 번호 G1G1, G2G2는 1≤G1,G2≤2N1 \le G1, G2 \le 2N이며 서로 다르다. 폐쇄되는 도로는 그 시점까지 통행 가능했고, 건설되는 다리는 그 시점까지 존재하지 않았다.

출력

각 Q 사건에 대해, G1G1에서 G2G2로 갈 수 있으면 DA, 없으면 NE를 입력 순서대로 한 줄에 하나씩 출력한다.

예제2

  1. 예제 1

    입력
    5 6
    A 4 9
    Q 1 7
    B 3 2
    Q 1 7
    A 1 8
    Q 1 7
    
    예상 출력
    DA
    NE
    DA
    
  2. 예제 2

    입력
    6 10
    A 3 7
    A 4 10
    Q 1 11
    A 12 5
    Q 2 11
    B 10 11
    Q 2 10
    Q 9 6
    B 1 2
    Q 1 2
    
    예상 출력
    NE
    DA
    DA
    DA
    NE