Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho một đồ thị vô hướng gồm ~N~ đỉnh và ~M~ cạnh. Một đỉnh hoặc cạnh được coi là loại bỏ được nếu bỏ đi đỉnh/cạnh đó không làm tăng số miền liên thông của đồ thị.
Yêu cầu
Hãy đếm số đỉnh và cạnh không nên bị loại bỏ.
Dữ liệu
- Dòng đầu tiên chứa hai số nguyên dương ~N, M~ lần lượt là số đỉnh và số cạnh của đồ thị (~1 \leq N \leq 10^4~, ~1 \leq M \leq 5\cdot 10^4~). Các đỉnh được đánh số từ ~1~ đến ~N~.
- ~M~ dòng tiếp theo, mỗi dòng gồm 2 số nguyên ~u, v~ thể hiện cặp cạnh ~(u, v)~ của đồ thị (~1 \leq u, v \leq n~).
Kết quả
- Một dòng duy nhất chứa hai số nguyên lần lượt là số đỉnh và số cạnh không nên bị loại bỏ của đồ thị.
Ví dụ
Input
10 12
1 10
10 2
10 3
2 4
4 5
5 2
3 6
6 7
7 3
7 8
8 9
9 7
Output
4 3
Giải thích
- Các đỉnh mà ta không nên loại bỏ là: 10, 7, 3, 2.
- Các cạnh mà ta không nên loại bỏ nối các cặp đỉnh: (1, 10), (10, 2), (10, 3).
Bình luận