[CSES 1680] Longest Flight Route
Xem dạng PDFUolevi đã thắng một cuộc thi, và giải thưởng là một chuyến bay miễn phí có thể bao gồm một hoặc nhiều chuyến bay qua các thành phố. Dĩ nhiên, Uolevi muốn chọn một hành trình có nhiều thành phố nhất có thể.
Uolevi muốn bay từ Syrjälä đến Lehmälä sao cho anh ấy ghé thăm số lượng thành phố nhiều nhất. Bạn được cho danh sách các chuyến bay có thể, và bạn biết rằng không có chu trình có hướng nào trong mạng bay.
Dữ liệu vào
Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~: số lượng thành phố và số lượng chuyến bay. Các thành phố được đánh số ~1,2,\dots,n~. Thành phố ~1~ là Syrjälä, và thành phố ~n~ là Lehmälä.
Sau đó là ~m~ dòng mô tả các chuyến bay. Mỗi dòng chứa hai số nguyên ~a~ và ~b~: có một chuyến bay từ thành phố ~a~ đến thành phố ~b~. Mỗi chuyến bay là một chiều.
Kết quả
Đầu tiên in ra số lượng thành phố tối đa trên hành trình. Sau đó, in ra các thành phố theo thứ tự chúng sẽ được ghé thăm. Bạn có thể in ra bất kỳ phương án hợp lệ nào.
Nếu không có lời giải, in ra "IMPOSSIBLE".
Giới hạn
- ~2 \le n \le 10^5~
- ~1 \le m \le 2 \cdot 10^5~
- ~1 \le a,b \le n~
Ví dụ
Dữ liệu vào:
5 5
1 2
2 5
1 3
3 4
4 5
Kết quả:
4
1 3 4 5
Bình luận