Đ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 thành phố đượ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ỏ thành phố đó (và các con đường liền kề). Nhiệm vụ của bạn là tìm tất cả các thành phố cần thiết.
Input
- Dòng đầu vào đầu tiên có hai số nguyên \(n\) và \(m\) \((2 \leq n \le 10^{5}, 1 \leq m \leq 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 \le a, b \le 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 thành phố cần thiết. Sau đó, in một danh sách gồm \(k\) thành phố. Bạn có thể in các thành phố 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
4 5
Bình luận