Đảo chiều đường
Đề bài
Mô tả
Cho một đất nước có thị trấn được đánh số từ đến và đúng con đường một chiều. Con đường thứ đi từ thị trấn đến thị trấn (với ).
Bạn được phép chọn một tập con bất kỳ trong các con đường rồi đảo chiều mỗi con đường trong tập đó đúng một lần (con đường trở thành ).
Mạng đường được gọi là rối nếu sau khi đảo chiều tồn tại một dãy các thị trấn phân biệt () sao cho có đường từ đến với mọi và có đường từ về — nói cách khác, mạng có chứa một chu trình có hướng.
Hãy đếm số tập con của các con đường (trong tổng cộng tập con) mà sau khi đảo chiều mỗi con đường trong tập đó, mạng đường thu được không bị rối. In ra kết quả theo modulo .
Dữ liệu vào
- Dòng thứ nhất chứa số nguyên — số thị trấn.
- Dòng thứ hai chứa số nguyên — là đích đến của con đường xuất phát từ thị trấn .
Dữ liệu ra
In ra một số nguyên duy nhất là số tập con cần đếm, lấy modulo .
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 2 3 1 |
6 | Đồ thị ban đầu gồm chu trình . Cần đảo ít nhất một và nhiều nhất hai con đường để phá chu trình, cho tập. |
| 4 2 1 1 1 |
8 | Chu trình duy nhất là (độ dài ). Để phá chu trình, đúng một trong hai cạnh của nó phải được đảo: cách. Hai cạnh và có thể tuỳ ý: . Tổng cộng . |
| 5 2 4 2 5 3 |
28 | Chu trình độ dài có cách đảo hợp lệ. Con đường ngoài chu trình tự do với cách. Đáp số . |
Bình luận