Truy vấn đường đi
Đề bài
Mô tả
Trong lý thuyết đồ thị, cây là một đồ thị vô hướng liên thông và không có chu trình. Một cây có đỉnh có đúng cạnh. Với mọi cặp đỉnh trong cây, có đúng một đường đi đơn giữa và . Đường đi đơn là đường đi qua mỗi đỉnh nhiều nhất một lần.
Cho một cây gồm đỉnh, đánh số từ đến , và truy vấn. Mỗi truy vấn cho ba số nguyên phân biệt , và . Hãy xác định xem có tồn tại đường đi đơn bắt đầu tại đỉnh , đi qua đỉnh và kết thúc tại đỉnh hay không.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và (, ).
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và () cho biết có cạnh nối hai đỉnh và .
- dòng cuối, mỗi dòng chứa ba số nguyên phân biệt , , () mô tả một truy vấn.
- Dữ liệu đảm bảo các cạnh đã cho tạo thành một cây.
Dữ liệu ra
Với mỗi truy vấn, in ra YES nếu tồn tại đường đi đơn thỏa mãn các điều kiện trên, ngược lại in ra NO.
Ràng buộc
- ,
- ; các cạnh tạo thành một cây.
- ; , , đôi một phân biệt.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 3 1 2 2 3 2 4 1 5 1 2 3 2 3 4 4 2 1 |
YES NO YES |
Đường đi qua đỉnh . Đường đi duy nhất từ tới là cạnh , không qua đỉnh . Đường đi qua đỉnh . |
| 3 2 1 2 2 3 1 3 2 3 2 1 |
NO YES |
Cây là đường thẳng : đường đi từ tới không qua , còn đường đi từ tới qua . |
Bình luận