Lộ trình ngắn nhất
Đề bài
Mô tả
Cho một đồ thị vô hướng gồm đỉnh đánh số từ đến và cạnh, cùng hai đỉnh và . Cạnh thứ nối hai đỉnh , và có độ dài . Đồ thị có thể có khuyên và nhiều cạnh nối cùng một cặp đỉnh.
Hãy tìm một đường đi từ tới có tổng độ dài nhỏ nhất và in ra đường đi đó. Nếu có nhiều đường đi ngắn nhất, in ra đường nào cũng được. Nếu , đường đi ngắn nhất chỉ gồm đúng một đỉnh và có độ dài .
Dữ liệu vào
- Dòng đầu tiên chứa bốn số nguyên , , , .
- dòng tiếp theo, dòng thứ chứa ba số nguyên .
Dữ liệu ra
- Nếu không có đường đi từ tới , in ra một số .
- Ngược lại, dòng thứ nhất in ra hai số và : là độ dài đường đi ngắn nhất, là số đỉnh trên đường đi bạn chọn. Dòng thứ hai in ra đỉnh của đường đi theo thứ tự từ tới , cách nhau bởi một dấu cách.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 8 1 6 1 2 7 1 3 2 3 2 3 2 4 1 3 5 9 4 6 6 5 6 1 2 6 9 |
12 5 1 3 2 4 6 |
Độ dài . Đường cũng dài và cũng được chấp nhận (khi đó in ). |
| 5 4 2 5 1 2 4 2 3 1 4 5 2 3 3 5 |
-1 | Từ đỉnh chỉ tới được các đỉnh và . |
Bình luận