Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một cây \(N\) đỉnh có gốc là \(1\). Có \(Q\) truy vấn tìm LCA (tổ tiên chung gần nhất) của hai đỉnh \(x\)\(y\).

Input

  • Dòng đầu tiên là số nguyên dương \(N\).
  • \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên mô tả một cạnh của cây.
  • Dòng tiếp theo chứa số nguyên dương \(Q\).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa một cặp số \((x, y)\).

Output

  • Với mỗi truy vấn, in ra kết quả cần tìm trên từng dòng.

Constraints

  • \(1 \le N, Q \le 10^5\)
  • \(1 \le x, y \le N\)

Example

Test 1

Input
7
6 1
6 4
4 7
3 4
1 2
2 5
6
3 3
7 7
1 3
5 7
7 6
2 4
Output
3
7
1
1
6
1

Nguồn: CD DHBB 2020

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.