Điểm:
1700 (p)
Thời gian:
1.0s
Bộ nhớ:
512M
Input:
bàn phím
Output:
màn hình
Có \(n\) thành phố và \(m\) con đường giữa chúng. Có một tuyến đường giữa hai thành phố bất kỳ.
Một con đường được gọi là cần thiết nếu không tồn tại tuyến đường giữa một số cặp thành phố sau khi loại bỏ con đường đó. Nhiệm vụ của bạn là tìm tất cả các con đường cần thiết.
Input
- Dòng đầu vào đầu tiên có hai số nguyên \(n\) và \(m\) \((2 \le n \le 10^{5}, 1 \le m \le 2 \times 10^{5})\) - số lượng thành phố và con đường. Các thành phố được đánh số \(1, 2, \ldots, n\).
- Sau này, có \(m\) dòng theo mô tả các đường đi. Mỗi dòng gồm hai số nguyên \(a\) và \(b\) \((1 \leq a, b \leq n)\) - có một con đường giữa các thành phố \(a\) và \(b\). Có nhiều nhất một con đường giữa hai thành phố và mọi con đường đều nối hai thành phố phân biệt.
Output
- Đầu tiên in số nguyên \(k\): số lượng con đường cần thiết. Sau đó, in \(k\) dòng mô tả các con đường. Bạn có thể in các con đường theo bất kỳ thứ tự nào.
Example
Test 1
Input
5 5
1 2
1 4
2 4
3 5
4 5
Output
2
3 5
4 5
Bình luận