21.A1. CTDL> bài Dòng bí ẩn
Dòng bí ẩn
Trong một buổi nghiên cứu lịch sử, FullHouse Dev được một nhà sử học nhờ giúp đỡ phân tích cây phả hệ của một vương quốc cổ. Với kinh nghiệm trong việc xử lý dữ liệu, FullHouse Dev đã nhận lời giúp đỡ để khám phá mối quan hệ tổ tiên giữa các thành viên hoàng tộc.
Bài toán
FullHouse Dev nhận được một cây gia phả hoàng tộc, được biểu diễn dưới dạng cấu trúc cây. Cây chứa thông tin về nhiều thế hệ tổ tiên và hậu duệ. Nhiệm vụ của nhóm là trả lời một loạt các truy vấn để xác định mối quan hệ tổ tiên. Với mỗi truy vấn gồm hai cái tên, gọi là Person \(u\) và Person \(v\), trong đó Person \(u\) là gốc của cây gia phả. Nhóm cần xác định xem Person \(u\) có phải là tổ tiên của Person \(v\) hay không. Nếu Person \(u\) là tổ tiên của Person \(v\), cần trả lời "YES", ngược lại trả lời "NO".
INPUT FORMAT:
- Dòng đầu tiên chứa số nguyên \(N\) - số lượng nút trong cây gia phả
- Dòng thứ hai chứa số nguyên \(Q\) - số lượng truy vấn
- \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x\) và \(y\) thể hiện mối quan hệ tổ tiên giữa nút \(x\) và \(y\) trong cây gia phả
- \(Q\) dòng cuối cùng, mỗi dòng chứa hai số nguyên \(u\) và \(v\) biểu thị truy vấn cần xác định mối quan hệ
OUTPUT FORMAT:
- Với mỗi truy vấn, in ra "YES" nếu Person \(u\) là tổ tiên của Person \(v\), hoặc "NO" nếu không phải
Ràng buộc:
- \(1 \leq N \leq 10^5\)
- \(1 \leq Q \leq 10^5\)
Ví dụ
INPUT
6
3
1 2
1 3
3 4
4 6
3 5
1 3
6 5
2 3
OUTPUT
YES
NO
NO
Giải thích
- Ở truy vấn 1: 1 là tổ tiên của 3
- Ở truy vấn 2: 6 không phải là tổ tiên của 5
- Ở truy vấn 3: 2 không phải là tổ tiên của 3
Comments