Tìm đường đi ngắn nhất với đỉnh cấm

Xem dạng PDF

Gửi bài giải

Điểm: 5,00 (OI)
Giới hạn thời gian: 1.3s
Giới hạn bộ nhớ: 100M
Input: stdin
Output: stdout

Tác giả:
Dạng bài

Cho đồ thị có hướng gồm ~N~ đỉnh (đánh số từ ~1~ đến ~N~) và ~M~ cạnh. Mỗi cạnh từ ~u~ đến ~v~ có trọng số ~w~. Tìm đường đi ngắn nhất từ đỉnh ~1~ đến đỉnh ~N~, không được đi qua bất kỳ đỉnh nào trong danh sách ~K~ đỉnh cấm.

  • Nếu không tồn tại đường đi, in ~-1~.
  • Đảm bảo đồ thị không có chu trình âm.

Input:

  • Dòng 1: Ba số nguyên ~N~, ~M~, ~K~.
  • ~M~ dòng tiếp theo: Mỗi dòng gồm ~u~, ~v~, ~w~ (cạnh từ ~u~ đến ~v~ với trọng số ~w~).
  • Dòng cuối: ~K~ số nguyên phân biệt là các đỉnh cấm.

Output:

  • Một số nguyên duy nhất là tổng trọng số nhỏ nhất.

Input:

4 5 1  
1 2 10  
2 3 20  
1 3 100  
3 4 30  
2 4 50  
3  

Output:

60  

Giải thích:

Đường đi ~1 → 2 → 4~ (tránh đỉnh 3) có tổng = ~10 + 50 = 60~.

Giới Hạn:

  • ~1 ≤ N ≤ 1000~, ~0 ≤ M ≤ 10^6~, ~0 ≤ K ≤ N~.
  • ~1 ≤ u, v ≤ N~, ~0 ≤ w ≤ 10^9~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.