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] ECMP: Liệt kê các next-hop cùng chi phí

    ECMP (Equal-Cost Multi-Path) cho phép chia tải trên nhiều đường có cùng chi phí ngắn nhất. Từ router s tới đích t, một láng giềng v của s là next-hop hợp lệ nếu w(s,v) + dist(v,t) = dist(s,t).

    Hãy liệt kê các next-hop ECMP từ s (các đỉnh láng giềng nằm trên đường ngắn nhất), theo thứ tự tăng dần. Nếu t không tới được, in -1.

    Gợi ý: chạy Dijkstra từ t để có dist(·, t).

    Ví dụ

    Input:

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

    Output:

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

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

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

      1 ≤ n ≤ 10^5, 1 ≤ w ≤ 10^4

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

      Danh sách id next-hop tăng dần, cách nhau dấu cách; hoặc -1.

    Ví dụ:

    Đầu vào:

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

    Đầu ra:

    2 3

    Giải thích:

    Hai đường 1→2→4 và 1→3→4 cùng chi phí 2 → next-hop {2, 3}.

    Đang tải editor...