이웃 마을

면접 대비

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

요약
지하철 역이 건설된 마을 집합을 유지하면서, 주어진 마을의 이웃 중 역이 있는 마을 수를 세는 쿼리를 처리한다.
난이도

보통10점 중 4점

유형
그래프, 해시맵, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

한양 나라에는 NN개의 마을과 MM개의 도로가 있다. 각 마을에는 11부터 NN까지의 서로 다른 번호가 붙어 있으며, 각 도로는 서로 다른 두 마을을 양방향으로 연결한다. 초기에 모든 마을에는 아무것도 건설되어 있지 않다.

어떤 마을의 이웃 마을이란, 그 마을과 도로로 직접 연결된 마을을 의미한다.

당신은 다음 쿼리 QQ개를 처리해야 한다.

  • 1 i: ii번 마을에 지하철 역을 건설한다.
  • 2 i: ii번 마을의 이웃 마을 중 지하철 역이 하나 이상 건설된 마을이 몇 개인지 출력한다.

입력

첫째 줄에 마을의 수 NN, 도로의 수 MM, 쿼리의 수 QQ가 공백으로 구분되어 주어진다. (2≤N≤200,0002 \le N \le 200\\,000; 1≤M≤min⁡!(N(N−1)2,200,000)1 \le M \leq \min \\!\left( \frac{N(N-1)}{2}, 200\\,000 \right); 1≤Q≤200,0001 \le Q \le 200\\,000)

이후 MM개의 줄에 걸쳐 각 도로가 연결하는 두 마을의 번호 u,vu, v가 공백으로 구분되어 주어진다. (1≤u,v≤N;u≠v1 \leq u, v \leq N; u \ne v)

이후 QQ개의 줄에 걸쳐 각 쿼리를 나타내는 정수 q,iq, i가 공백으로 구분되어 주어진다. (1≤q≤21 \le q \le 2; 1≤i≤N1 \le i \le N)

두 마을을 연결하는 도로의 수는 최대 11개이다.

2번 쿼리는 한 번 이상 주어진다.

출력

각 2번 쿼리에 대해 쿼리의 결과를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    4 5 5
    1 2
    2 3
    1 4
    2 4
    3 4
    1 1
    2 4
    1 1
    1 3
    2 2
    
    예상 출력
    1
    2