An toàn mạng
Đề bài
Mô tả
Mạng máy tính của thành phố Metropolis gồm máy chủ, mỗi máy chủ được gán một khoá mã hoá là một số nguyên trong khoảng . Gọi là khoá của máy chủ thứ . Ngoài ra có cặp máy chủ được nối trực tiếp bằng một kênh truyền dữ liệu. Một kênh truyền được coi là an toàn nếu hai máy chủ ở hai đầu của nó có khoá khác nhau. Đảm bảo rằng tất cả kênh truyền ban đầu đều an toàn.
Một loại virus mới đang lan rộng. Virus mang một số nguyên chưa biết, . Khi virus lây sang máy chủ , khoá của máy chủ đó bị thay đổi từ thành , trong đó là phép XOR theo bit.
Vì không biết virus mang số nào, cũng không biết virus sẽ lây vào tập máy chủ nào, hãy đếm số cặp thoả mãn:
- là một tập con (có thể rỗng) của tập máy chủ;
- là một số nguyên trong khoảng ;
- Sau khi virus mang số lây vào đúng các máy chủ thuộc (và không lây vào các máy chủ ngoài ), tất cả kênh truyền vẫn an toàn.
In kết quả theo modulo .
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , (; ; ).
- Dòng thứ hai chứa số nguyên ().
- dòng tiếp theo, mỗi dòng chứa hai số nguyên , (, ), mô tả một kênh truyền giữa hai máy chủ và . Mỗi cặp máy chủ xuất hiện không quá một lần.
Dữ liệu ra
Một số nguyên duy nhất — số cặp thoả mãn, lấy theo modulo .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 2 0 1 0 1 1 2 2 3 3 4 4 1 |
50 | Với , virus có thể lây vào tập con bất kỳ trong tập (vì các khoá XOR với chung của hai đầu mỗi cạnh khác ). Với thì virus phải lây vào tất cả hoặc không máy chủ nào — chỉ 2 tập hợp lệ. Tổng cộng . |
| 4 5 3 7 1 7 2 1 2 2 3 3 4 4 1 2 4 |
96 | Đáp án là . |
Bình luận