23.A1. CTDL&GT bài Hành trình vòng quanh II


LÀM BÀI

Points: 10
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Hành trình vòng quanh II

Trong một dự án phát triển cơ sở hạ tầng, FullHouse Dev được giao nhiệm vụ thiết kế một hành trình vòng quanh giữa các thành phố. Họ cần tìm cách bắt đầu từ 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ố xuất phát. Mỗi thành phố trung gian trên hành trình phải là duy nhất.

Bài toán

FullHouse Dev nhận được thông tin về \(n\) thành phố và \(m\) chuyến bay. Nhiệm vụ của họ là thiết kế một hành trình vòng quanh bắt đầu từ 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ố xuất phát. Mỗi thành phố trung gian trên hành trình phải là duy nhất.

INPUT FORMAT:
  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(m\): số lượng thành phố và chuyến bay. Các thành phố được đánh số từ 1 đến \(n\).
  • Sau đó, có \(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\). Tất cả các chuyến bay là chuyến bay một chiều từ một thành phố đến một thành phố khác.
OUTPUT FORMAT:
  • Đầu tiên in ra một số nguyên \(k\): số lượng thành phố trên hành trình. Sau đó in ra \(k\) thành phố theo thứ tự chúng sẽ được ghé thăm. Bạn có thể in ra bất kỳ giải pháp hợp lệ nào.
  • Nếu không có giải pháp, in ra "IMPOSSIBLE".
Ràng buộc:
  • \(1 \leq n \leq 10^5\)
  • \(1 \leq m \leq 2 \cdot 10^5\)
  • \(1 \leq a, b \leq n\)
Ví dụ
INPUT
4 5
1 3
2 1
2 4
3 2
3 4
OUTPUT
4
2 1 3 2
Giải thích
  • Trong ví dụ này, FullHouse Dev có thể bắt đầu từ thành phố 2, đi đến thành phố 1, sau đó đến thành phố 3, và quay trở lại thành phố 2. Vì vậy, đáp án là 4 với hành trình 2 1 3 2.

Comments

There are no comments at the moment.

Zalo