Hành trình ngắn thứ K

Xem dưới dạng PDF

Gửi bài giải


Điểm: 30
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Cho đồ thị có hướng \(N\) đỉnh và \(M\) cạnh có trọng số không âm. Hãy tìm độ dài của đường đi ngắn thứ \(K\) từ đỉnh \(S\) đến đỉnh \(T\). Các đỉnh hoặc các cạnh có thể đi qua lại nhiều lần trong một đường đi.

Định dạng đầu vào

  • Dòng đầu chứa năm số nguyên \(N, M, K, S, T\) (\(1 \le N \le 1000\), \(0 \le M \le 2000\), \(1 \le K \le 10\), \(1 \le S, T \le N\)).
  • \(M\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(u, v, w\) (\(1 \le u, v \le N\), \(1 \le w \le 10^6\)) mô tả cạnh một chiều từ \(u\) sang \(v\) có trọng số \(w\).

Định dạng đầu ra

  • Một số nguyên duy nhất là độ dài đường đi ngắn thứ \(K\). Nếu không tồn tại đường đi thứ \(K\), in ra \(-1\).

Ràng buộc

Subtask Tỉ lệ điểm Ràng buộc
1 40% \(K = 1\)
2 60% Không có ràng buộc gì thêm

Ví dụ

Input:

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

Output:

6

(Giải thích ví dụ: Các đường đi từ 1 đến 3 theo thứ tự độ dài tăng dần là: 1 -> 2 -> 3 (độ dài 5), 1 -> 3 (độ dài 6), 1 -> 2 -> 3 -> 2 -> 3 (độ dài 9)... Đường đi ngắn thứ 2 là 6).


Nhận xét

Không có ý kiến tại thời điểm này.