문제2045--Fixed Link & Cut Tree

2045: Fixed Link & Cut Tree

[만든사람 : jbs33_PJW]
시간제한 : 2.000 sec  메모리제한 : 128 MiB

문제 설명

정점이 N개이고 루트 노드가 1인 트리에 대하여, 다음 Q개의 쿼리를 처리하는 프로그램을 구성하시오.

1 x : x와 x의 부모 노드를 연결하는 간선을 제거한다.
항상 간선이 존재하는 경우만 쿼리로 주어진다.
 2 x: x와 x의 부모 노드에 대해 1번 쿼리에 의해 제거되었던 간선을 생성한다.
항상 간선이 제거된 경우만 쿼리로 주어진다.
3 p q: 정점 p와 q를 연결하는 경로가 존재하면 1, 그렇지 않다면 0을 출력한다.


입력 설명

첫째 줄에 정점의 개수 N과 쿼리의 개수 Q ( 1 ≤ N , Q ≤ 100000 ) 이 주어진다.

둘째 줄부터 N-1개의 줄에 정수 x (1 ≤ x ≤ N)이 주어진다.
i번째 줄의 x는 정점 i의 부모가 정점 x임을 의미한다.

다음으로 Q개의 줄에 쿼리가 주어진다.

출력 설명

3번 쿼리가 주어질 때마다 한 줄에 하나씩 답을 출력한다.
3번 쿼리는 반드시 하나 이상 주어진다.

입력 예시 Copy

5 4
1
1
2
3
1 2
3 4 5
2 2
3 4 5

출력 예시 Copy

0
1 

게시판

작성자제목(댓글)
글이 없습니다.

출처/분류