Nauuo và Đường Tròn
Đề bài
Mô tả
Cho một cây vô hướng có đỉnh được đánh số từ đến và cạnh. Bạn muốn vẽ cây này lên một đường tròn theo cách sau:
- Chọn điểm phân biệt trên đường tròn.
- Chọn một hoán vị của và đặt đỉnh tại điểm thứ trên đường tròn (đếm theo chiều kim đồng hồ).
- Vẽ mỗi cạnh của cây bằng một đoạn thẳng nối hai đỉnh tương ứng.
Cách vẽ được gọi là hợp lệ nếu không có hai cạnh nào cắt nhau (hai cạnh chỉ được phép có chung điểm khi điểm đó là đầu mút chung của cả hai cạnh).
Đếm số hoán vị sao cho cách vẽ là hợp lệ. Vì kết quả có thể rất lớn, hãy in ra phần dư khi chia cho .
Câu trả lời không phụ thuộc vào việc bạn chọn điểm cụ thể nào trên đường tròn.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số đỉnh của cây.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên — một cạnh nối đỉnh và .
Dữ liệu đảm bảo các cạnh tạo thành một cây.
Dữ liệu ra
In ra một số nguyên duy nhất — số hoán vị hợp lệ modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 1 2 1 3 1 4 |
24 | Cây hình ngôi sao với gốc là đỉnh . Mọi hoán vị đều cho cách vẽ hợp lệ, kết quả là . |
| 4 1 2 1 3 2 4 |
16 | Có hoán vị hợp lệ. Một ví dụ về hoán vị không hợp lệ là khi hai cạnh và cắt nhau trên đường tròn. |
| 3 1 2 3 2 |
6 | Với chỉ có điểm trên đường tròn nên không thể có hai cạnh cắt nhau, mọi hoán vị đều hợp lệ: . |
Bình luận