PreVOI 2023 - Ninh Bình - Permutation
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Năm mới đã đến, và Minh - lớp trưởng đội tuyển X - đã có một dự định: bắt cả đội tuyển đi chạy quanh trường nhân dịp đầu năm mới.
Trường X có ~N~ ~(2 \le N \le 100000)~ địa điểm được đánh số từ ~1~ đến ~N~ và ~(N-1)~ con đường kết nối ~2~ địa điểm, và chắc chắn giữa ~2~ địa điểm có ít nhất ~1~ tuyến đường nối chúng. Minh muốn mọi người bắt đầu từ một địa điểm, và lặp lại thao tác sau ~(N-1)~ lần: chọn một địa điểm chưa được đến bao giờ để đi từ điểm hiện tại. Để giúp mọi người khỏe hơn, khoảng cách giữa ~2~ địa điểm liên tiếp phải là một dãy không giảm.
Hay nói cách khác, Minh và các bạn cần tìm một dãy ~p[1], p[2], \dots, p[N]~ sao cho
~p[1], p[2], \dots, p[N]~ tạo thành một hoán vị, tức là mỗi số từ ~1~ đến ~N~ xuất hiện đúng một lần
~\operatorname{dist}(p[i], p[i+1]) \le \operatorname{dist}(p[i+1], p[i+2])~ ~(1 \le i \le (N-2))~ với ~\operatorname{dist}(a,b)~ là độ dài đường đi ngắn nhất giữa địa điểm ~a~ và địa điểm ~b~
Hãy giúp Minh tìm một dãy như vậy, hoặc in ra "-1" nếu không có dãy nào thỏa mãn.
Input
Dòng đầu tiên chứa số ~N~ ~(2 \le N \le 100000)~
Mỗi dòng trong ~(N-1)~ dòng tiếp theo ghi ~2~ số ~a~ và ~b~, biểu thị có cạnh nối giữa ~2~ đỉnh ~a~ và ~b~. Input đảm bảo đồ thị liên thông.
Output
In ra dãy ~n~ số là hoán vị thỏa mãn điều kiện đề bài, hoặc -1 nếu không có dãy nào thỏa mãn
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~30\%~ | ~2 \le n \le 10~ |
| 2 | ~20\%~ | ~2 \le n \le 15~ |
| 3 | ~20\%~ | ~2 \le n \le 5000~ |
| 4 | ~10\%~ | ~2 \le n \le 100000~, không có địa điểm nào nối với quá hai địa điểm khác |
| 5 | ~20\%~ | ~2 \le n \le 100000~ |
Sample Input 1
5
1 2
1 3
2 4
3 5
Sample Output 1
1 2 3 4 5
Sample Input 2
4
2 1
2 3
2 4
Sample Output 2
2 1 3 4
Sample Input 3
10
2 1
3 2
4 1
5 2
6 4
7 4
8 7
9 1
10 4
Sample Output 3
1 4 2 6 9 7 3 10 5 8
Bình luận