Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Mạng máy tính] OSPF: Liệt kê đường ngắn nhất

    Mở rộng bài Dijkstra: ngoài chi phí, hãy liệt kê dãy router trên đường ngắn nhất từ s tới t.

    Khi có nhiều đường cùng chi phí, tie-break: chọn đỉnh liền trước (predecessor) có chỉ số nhỏ nhất (cập nhật predecessor khi gặp chi phí bằng nhau nhưng đỉnh trước nhỏ hơn). Nếu không có đường, in -1.

    Ví dụ

    Input:

    4 4
    1 2 1
    2 4 5
    1 3 2
    3 4 1
    1 4
    

    Output:

    1 3 4
    
    • Định dạng đầu vào:

      Dòng 1: n m. m dòng: u v w (vô hướng). Dòng cuối: s t.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 10^5, 0 ≤ m ≤ 2·10^5, 1 ≤ w ≤ 10^4

    • Định dạng đầu ra:

      Dãy router từ s tới t cách nhau bởi dấu cách, hoặc -1.

    Ví dụ:

    Đầu vào:

    4 4
    1 2 1
    2 4 5
    1 3 2
    3 4 1
    1 4
    

    Đầu ra:

    1 3 4

    Giải thích:

    Đường rẻ nhất 1→3→4 (chi phí 3).

    Đang tải editor...