Round trip 2
Xem dạng PDFByteland có n thành phố và m đường bay. Nhiệm vụ của bạn là thiết kế một chuyến đi vòng (round trip) bắt đầu tại một thành phố, đi qua một hoặc nhiều thành phố khác, và cuối cùng quay trở lại thành phố bắt đầu. Mỗi thành phố trung gian trên hành trình phải là khác nhau (không được lặp lại).
Input:
Dòng đầu chứa hai số nguyên n và m: số thành phố và số đường bay. Các thành phố được đánh số 1, 2, ..., n.
Tiếp theo là m dòng, mỗi dòng có hai số nguyên a b: tồn tại một chuyến bay một chiều từ thành phố a đến thành phố b.
Output:
Nếu tồn tại một chuyến đi vòng hợp lệ, in trước một số nguyên k — số thành phố trên hành trình (k ≥ 2). Sau đó in k số — các chỉ số thành phố theo thứ tự sẽ đi (chuyến đi phải bắt đầu và kết thúc tại cùng một thành phố, và các thành phố giữa là phân biệt).
Nếu không tồn tại lời giải, in IMPOSSIBLE.
Bạn có thể in bất kỳ lời giải hợp lệ nào.
Ràng buộc:
~1 \le n \le 10^5~
~1 \le m \le 2 \cdot 10^5~
~1 \le a,b \le n~
Ví dụ :
Input:
4 5
1 3
2 1
2 4
3 2
3 4
Output:
4
2 1 3 2
Bình luận