Câu lạc bộ sinh viên
Đề bài
Mô tả
Trường đại học của Mai có nhiều câu lạc bộ sinh viên và mỗi câu lạc bộ có một sức mạnh. Sức mạnh của một câu lạc bộ được tính bằng giai thừa của số thành viên trong câu lạc bộ đó. Tổng sức mạnh của tất cả các câu lạc bộ là bao nhiêu?
Bài toán sẽ dễ nếu Mai biết mỗi câu lạc bộ có bao nhiêu thành viên, nhưng bạn ấy không có thông tin này. Điều duy nhất Mai có thể làm là phỏng vấn sinh viên, và mỗi sinh viên được phỏng vấn sẽ cho biết một sinh viên khác cùng câu lạc bộ với mình.
Giả sử Mai đã thu thập đủ thông tin về các sinh viên, mỗi sinh viên chỉ tham gia đúng một câu lạc bộ, và một câu lạc bộ hợp lệ phải có nhiều hơn thành viên (tức là ít nhất thành viên). Hãy giúp Mai tính tổng sức mạnh của tất cả các câu lạc bộ hợp lệ trong trường.
Các sinh viên được đánh số từ đến . Hai sinh viên cùng câu lạc bộ khi và chỉ khi có thể đi từ người này tới người kia qua một chuỗi các cặp thông tin đã thu thập.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và (), trong đó là số sinh viên và là số sinh viên đã được phỏng vấn.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên: sinh viên được phỏng vấn và một bạn cùng câu lạc bộ mà sinh viên đó kể tên.
Dữ liệu ra
In ra một số nguyên là tổng sức mạnh của các câu lạc bộ hợp lệ, lấy phần dư khi chia cho .
Ràng buộc
- .
- Mỗi cặp gồm hai số nguyên khác nhau thuộc đoạn ; các cặp có thể lặp lại.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 9 5 1 2 2 3 0 4 4 5 8 7 |
12 | Chỉ có câu lạc bộ hợp lệ: câu lạc bộ có sức mạnh và câu lạc bộ có sức mạnh . Câu lạc bộ chỉ có thành viên và sinh viên ở một mình nên không hợp lệ. Tổng là . |
| 5 4 0 1 1 2 2 3 3 4 |
120 | Cả sinh viên cùng một câu lạc bộ, sức mạnh . |
Bình luận