단절점과 단절선

정점 N개짜리 트리와 질의가 주어질 때, 각 질의에 대해 지정된 정점이 단절점인지 또는 지정된 간선이 단절선인지 판별한다.

보통4트리DFS그래프구현면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

그래프 이론에서 단절점(cut vertex)과 단절선(bridge)은 다음과 같이 정의한다.

  • 단절점: 어떤 정점을 지웠을 때 그 정점이 속해 있던 연결 요소가 두 개 이상으로 나뉘면, 이 정점을 단절점이라 한다.
  • 단절선: 어떤 간선을 지웠을 때 그 간선이 속해 있던 연결 요소가 두 개 이상으로 나뉘면, 이 간선을 단절선이라 한다.

이 문제에서는 트리에서 단절점과 단절선을 찾는다. 트리는 사이클이 없고 모든 정점이 연결된 그래프다.

트리의 정보와 질의가 주어지면 각 질의에 답하라.

입력

입력은 표준 입력으로 받는다. 첫 줄에 트리의 정점 개수 NN이 주어진다. (2N1000002 \le N \le 100000) 정점 번호는 1번부터 NN번까지다. 이어지는 N1N-1개의 줄에 간선 정보 aabb가 주어진다. aa번 정점과 bb번 정점이 연결되어 있다는 뜻이며, 입력으로 주어지는 그래프는 항상 트리다. (1a,bN1 \le a, b \le N)

그다음 줄에 질의 개수 qq가 주어진다. (1q1000001 \le q \le 100000) 이어지는 qq개의 줄에 질의 ttkk가 주어진다. (1t21 \le t \le 2) tt가 1이면 kk번 정점이 단절점인지 묻는 질의이고, tt가 2이면 입력에서 kk번째로 주어진 간선이 단절선인지 묻는 질의다. tt가 1일 때는 1kN1 \le k \le N, tt가 2일 때는 1kN11 \le k \le N-1이다.

출력

출력은 표준 출력으로 한다. 질의 qq개에 대해 한 줄에 하나씩 답을 출력한다. 질의한 정점이 단절점이거나 질의한 간선이 단절선이면 yes를, 그렇지 않으면 no를 출력한다.