Trên cánh đồng cỏ hiện có n con bò đang ăn cỏ, các con bò được đánh số từ 1 đến n, trong đó con bò đầu đàn được đánh số 1. Những con bò luôn đi vòng quanh để tìm những bãi cỏ ngon nhất. Vì lo sợ những con bò sẽ đi vào những vườn rau bên cạnh nên người chăn bò đã dùng một số đoạn dây thừng cột các con bò với nhau, mỗi đoạn dây sẽ cột hai con bò nào đó lại, tất nhiên là giữa hai con bò chỉ cân dùng tôi đa một đoạn dây đề cột. Tuy nhiên, lũ bò cũng rất tinh ranh, những con được cột chung với nhau giờ đây lại cùng đi chung, nhất là con đầu đàn hay lôi kéo những con khác đi chung. Thế là người chăn bò lại cột hẳn con bò đầu đàn vào gốc cây trên đồng cỏ - khỏi đi đâu nữa hết!
Yêu cầu: Hãy cho biết số lượng các con bò có khả năng đi vào những vườn rau bên cạnh. Đó là những con bò nào?
Dữ liệu vào: Cho từ tệp văn bản DONGCO.INP có dạng:
Dòng thứ nhất ghi hai số nguyên n, m tương ứng là số con bò và số đoạn dây thừng dùng để cột hai con bò lại với nhau (1 ≤ n ≤ 30000, 0 < m ≤ 100000)
m dòng tiếp theo, mỗi dòng ghi hai số u, v cho biết đoạn dây thừng cột hai con bò thứ u và thứ v lại với nhau (1 ≤ u, v {n, u # v). Các số trên cùng một dòng ghi cách nhau một dấu cách.
Kết quả: Ghi ra tệp văn bản DONGCO.OUT gồm hai dòng
Dòng thứ nhất ghi số lượng con bò có khả năng đi vào những vườn rau bên cạnh.
Dòng thứ hai lần lượt ghi số hiệu của các con bò có thể đi vào những vườn rau theo thứ tự từ số hiệu nhỏ đến số hiệu lớn, giữa các số cách nhau một khoảng cách.
Ví dụ:
Input:
10 8
2 3
10 7
4 1
8 7
9 3
4 6
1 10
8 10
Output:
4
2 3 5 9
Giải thích: Các con bò số 4, 6, 7, 8, 10 bị cột chung với con bò đầu đàn tại gốc cây, còn lại 4 con bò có số hiệu 2, 3, 5, 9 không bị cột vào gốc cây nên chúng có thể đi vào những vườn rau bên cạnh.
Ràng buộc:
Có 70% số test tương ứng 70% số điểm có giá trị n ≤ 1000
Có 30% số test tương ứng 30% số điểm có giá trị n ≤ 30000
Bình luận