[BOJ 13539] 트리와 쿼리 11

View as PDF

Submit solution

Points: 5
Time limit: 2.0s
Memory limit: 512M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

정점 하나로 이루어진 루트 있는 트리 N개가 있다. 정점은 1번부터 N번까지 번호가 매겨져 있다. </p>

아래의 쿼리를 수행하는 프로그램을 작성하시오.

  • 1 u v: u와 v 사이에 간선을 하나 연결한다. 이때, v가 u의 부모가 된다. 쿼리가 실행되기 전에 u는 u가 포함되어 있는 트리의 루트이며, u와 v는 다른 트리에 속해 있음이 보장된다.
  • 2 v: v와 v의 부모를 연결하는 간선을 끊는다. v는 루트가 아니다.
  • 3 u v: u와 v의 LCA를 출력한다. u와 v는 같은 트리 안에 있다.
## 입력 형식

첫째 줄에 N (2 ≤ N ≤ 100,000)과 쿼리의 개수 M (1 ≤ M ≤ 200,000)이 주어진다.

다음 M개의 줄에는 쿼리가 한 줄에 하나씩 주어진다.

출력 형식

각각의 3번 쿼리의 결과를 순서대로 한 줄에 하나씩 출력한다.

예제 입력

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

예제 출력

1
2
3
2

Comments

There are no comments at the moment.