Revamping Trails

Xem dạng PDF

Gửi bài giải


Điểm: 0,25 (OI)
Giới hạn thời gian: 0.38s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
USACO February 2009
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Farmer John kiểm tra những chú bò của mình mỗi ngày. Anh ta đi trên một số đường trong ~M~ ~(1 \leq M \leq 50000)~ đường mòn được đánh số từ ~1~ đến ~M~ bắt đầu từ bãi cỏ ~1~ và đi đến bãi cỏ ~N~ (dữ liệu đầu vào luôn đảm bảo tồn tại một đường đi như vậy). ~N~ ~(1 \leq N \leq 10000)~ bãi cỏ được đánh số liên tiếp ~1~...~N~ trong trang trại của Farmer John được nối bằng những đường mòn hai chiều. Đường mòn ~i~ nối bãi cỏ ~P1_i~ và ~P2_i~ ~(1 \leq P1_i , P2_i \leq N)~ và yêu cầu ~T_i~ ~(1 \leq T_i \leq 10^6)~ đơn vị thời gian để đi qua.

Anh ta muốn sửa lại một số đường mòn trong trang trại để tiết kiệm thời gian trong hành trình của anh ta. Cụ thể, anh ta sẽ chọn ~K~ ~(1 \leq K \leq 20)~ đường mòn để sửa thành đường cao tốc, thời gian trên những đường này sẽ giảm xuống ~0~. Hãy giúp Farmer John chọn những đường mòn để tối thiểu thời gian đi từ bãi cỏ ~1~ đến bãi cỏ ~N~.

Input

  • Dòng ~1~: Ba số nguyên cách nhau bởi dấu cách: ~N~, ~M~ và ~K~

  • Dòng ~2~...~M+1~: Dòng ~i+1~ miêu tả đường mòn ~i~ với ba số nguyên cách nhau bởi dấu cách: ~P1_i~, ~P2_i~ và ~T_i~

Output

  • Dòng ~1~: Chiều dài của đường đi ngắn nhất từ bãi cỏ ~1~ đến bãi cỏ ~N~ sau khi sửa không nhiều hơn ~K~ đường mòn.

Sample Input

4 4 1
1 2 10
2 4 10
1 3 1
3 4 100

Sample Output

1

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.