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\).
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\)).
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 |
Nhận xét