Câu lạc bộ khép kín
Xem dạng PDF📖 Bài giảng & lời giải: đây là Bài tập 2 trong bài giảng Bài 36: TPLT mạnh, khớp, cầu trên blog Lập trình thuật toán – có lý thuyết, mô phỏng từng bước, gợi ý và code C++ / Python.
⚠️ Lưu ý: hãy đảm bảo em đã thật sự cố gắng tự làm bài trước, rồi mới xem gợi ý và lời giải nhé!
🎓 Khóa học Lập trình Thuật toán thi đấu của thầy Nguyễn Việt Nam Sơn – 111 buổi video, kèm cặp cá nhân, luyện thi chuyên Tin · HSG Tin học · Tin học trẻ · đội tuyển quốc gia · Olympic/ICPC. 👉 Xem chi tiết khóa học · Thành tích học viên
📞 Đăng ký học: Zalo 0767 666 702 · Facebook Nguyễn Việt Nam Sơn · 🌐 laptrinhthuattoan.blogspot.com
Có $n$ người đánh số từ $1$ tới $n$ và $m$ quan hệ có hướng, quan hệ thứ $i$ cho biết người $u_i$ nhắn tin được trực tiếp cho người $v_i$. Một tin nhắn có thể được chuyển tiếp qua nhiều người trung gian.
Một câu lạc bộ là một nhóm người lớn nhất có thể (không thể thêm người nào vào nữa) sao cho hai người bất kỳ trong nhóm đều chuyển tin được cho nhau (theo cả hai chiều). Mỗi người thuộc đúng một câu lạc bộ (có thể chỉ gồm một mình người đó). Hãy in ra số câu lạc bộ và số thành viên của câu lạc bộ đông nhất.
Dữ liệu vào
- Dòng 1: hai số nguyên $n, m$ ($1 \le n \le 2 \cdot 10^5$, $0 \le m \le 2 \cdot 10^5$).
- $m$ dòng tiếp theo, mỗi dòng gồm hai số nguyên $u, v$ ($1 \le u, v \le n$, $u \ne v$). Các quan hệ có thể lặp lại.
Kết quả
In ra hai số nguyên cách nhau một dấu cách: số câu lạc bộ và số thành viên của câu lạc bộ đông nhất.
Sample Input
8 8
1 2
2 1
2 3
3 4
4 5
5 3
6 7
7 6
Sample Output
4 3
Bình luận