Hành trình du lịch
Xem dạng PDFMô tả bài toán: Hành trình du lịch
Byteland có n thành phố và m con đường nối giữa chúng. Nhiệm vụ của bạn là thiết kế một chuyến đi vòng tròn bắt đầu từ một thành phố, đi qua hai 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 trong lộ trình phải là duy nhất.
Bạn cần:
- Tìm một chu trình trong đồ thị sao cho tất cả các thành phố trên chu trình là duy nhất.
- Nếu không thể tìm thấy chu trình nào, in
"IMPOSSIBLE"
.
Input:
- Dòng đầu tiên chứa hai số nguyên n và m: số lượng thành phố và số lượng con đường.
- Sau đó, có m dòng, mỗi dòng chứa hai số nguyên a và b: biểu diễn rằng có một con đường nối giữa thành phố ~a~ và ~b~.
Output:
- Nếu tồn tại một chu trình, in ra số nguyên ~k~: số lượng thành phố trên chu trình.
- Sau đó, in ra ~k~ số nguyên, biểu diễn thứ tự các thành phố trên chu trình.
- Nếu không có chu trình, in
"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:
5 6
1 3
1 2
5 3
1 5
2 4
4 5
Output:
4
3 5 1 3
Giải thích:
- Đồ thị chứa một chu trình: ~3 \rightarrow 5 \rightarrow 1 \rightarrow 3~.
- Chu trình này bao gồm 4 thành phố: ~3, 5, 1, 3~.
Bình luận
Gửi bài giải
Kotlin
PyPy
Điểm:
10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Pascal
Python
Scratch