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
Một hệ thống gồm ~n~ máy tính đánh số từ ~1~ tới ~n~ được kết nối thành một mạng liên thông bởi ~m~ đoạn cáp, đánh số từ 1 tới ~m~. Đoạn cáp mạng thứ i kết nối 2 máy ~u_i~, ~v_i~ cho phép truyền dữ liệu 2 chiều giữa 2 máy này. Ngoài ra giữa 2 máy bất kì chỉ có tối đa 1 cáp nối và không có máy nào được nối với chính nó.
Một dãy các máy ~x_1, x_2, ..., x_p,~ trong đó giữa 2 máy ~x_j~ và ~x_{j+1}~ ~(j = 1, 2, ..., p - 1)~ có đoạn cáp nối, được gọi là một đường truyền tin từ máy ~x_1~ tới máy ~x_p~. Đoạn cáp nối máy ~u~ và ~v~ gọi là xung yếu nếu loại bỏ đoạn cáp này khỏi hệ thống thì không thể truyền tin được từ máy u tới máy ~v~.
Yêu cầu
Hãy thêm một số ít nhất đoạn cáp sao cho hệ thống không còn bất kì đoạn cáp nào là xung yếu.
Dữ liệu
- Dòng đầu chứa 2 số nguyên dương ~n, m (n \leq 10^5, m \leq 2 \cdot 10^5)~.
- ~m~ dòng tiếp theo, dòng thứ ~i~ chứa 2 số nguyên dương ~u_i, v_i~ xác định đoạn cáp thứ ~i~ của hệ thống (~1 \leq u_i, v_i \leq n~).
Kết quả
- Dòng duy nhất chứa số nguyên $k$ là số đoạn cáp tối thiểu cần thêm vào
Ví dụ
Input
4 4
1 2
1 3
1 4
2 3
Output
1
Giải thích
- Khi thêm cạnh ~(4, 2)~ vào thì hệ thống sẽ không còn đoạn cáp nào là xung yếu. Ngoài ra, còn một cách khác là thêm cạnh ~(4, 3)~.
Bình luận