Robot dọn dẹp
Đề bài
Mô tả
Thị trấn ICPC có ngã tư được đánh số từ đến , nối với nhau bởi con đường sao cho từ một ngã tư bất kỳ luôn đi được tới mọi ngã tư khác.
Chính quyền muốn triển khai một đội robot dọn dẹp. Mỗi robot được giao một nhiệm vụ là tập ngã tư mà nó phải dọn, với . Kế hoạch triển khai phải thỏa mãn:
- Mỗi tập tạo thành một đường đi: tồn tại dãy gồm đúng các phần tử đôi một khác nhau của , trong đó hai ngã tư liên tiếp được nối trực tiếp bởi một con đường.
- Hợp của tất cả các là toàn bộ tập ngã tư của thị trấn.
- Hai robot khác nhau không cùng dọn một ngã tư, tức với mọi .
- Kế hoạch không rút gọn được: không tồn tại hai robot sao cho cũng tạo thành một đường đi.
Chính quyền không quan tâm số robot được dùng có ít nhất hay không, miễn là kế hoạch thỏa mãn cả bốn điều kiện trên.
Hãy đếm số kế hoạch triển khai hợp lệ. Hai kế hoạch được coi là khác nhau nếu chúng khác nhau ở tập hợp các nhiệm vụ (thứ tự các robot không quan trọng). Vì kết quả có thể rất lớn, hãy in ra phần dư của nó khi chia cho .
Dữ liệu vào
- Dòng đầu chứa số nguyên là số ngã tư.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và mô tả con đường nối ngã tư và ngã tư .
Dữ liệu ra
In ra một số nguyên duy nhất là số kế hoạch triển khai hợp lệ, lấy phần dư khi chia cho .
Ràng buộc
- Dữ liệu đảm bảo các con đường tạo thành một cây (từ mỗi ngã tư đều đi được tới mọi ngã tư khác).
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 1 3 2 3 3 4 4 5 4 6 |
5 | Năm kế hoạch: ; ; ; ; . Kế hoạch không hợp lệ vì tạo thành đường đi . Kế hoạch cũng không hợp lệ vì không phải một đường đi. |
| 5 1 2 2 3 2 4 4 5 |
3 | Ba kế hoạch: ; ; . Nếu chỉ dùng một robot cho ngã tư thì luôn ghép được với đường đi chứa ở đầu mút, nên không có kế hoạch nào khác. |
Bình luận