trang chủ / đề bài / qt_tst_22_c

Tính phí đường bộ

Đề bài

Mô tả

Vương quốc Byteland có N nút giao thông trọng điểm được đánh số từ 1 đến N. Hệ thống đường cao tốc gồm M con đường hai chiều đảm bảo đi lại giữa các nút giao thông với nhau, các con đường được đánh số từ 1 đến M. Con đường thứ i nối nút giao thông Xi với Yi (1≤i≤M; 1≤Xi,Yi≤N) có phí đường bộ là Zi (Zi≤106).

Ví dụ: với 4 nút giao thông và 4 con đường 1−2 (phí 10), 1−3 (phí 30), 2−4 (phí 20), 3−4 (phí 5), từ nút giao thông 1 đến nút giao thông 4 có hai đường đi khác nhau: đường đi thứ nhất là 1→2→4 có tổng phí đường bộ là 30, đường đi thứ hai là 1→3→4 có tổng phí đường bộ là 35.

Để giảm chi phí đi lại góp phần thúc đẩy phát triển kinh tế giữa các vùng, Quốc vương đã ban hành chính sách mới cho phép người dân đăng kí miễn phí tối đa K con đường bất kì trên hành trình của mình.

Yêu cầu: Hãy lập trình tính tổng phí đường bộ nhỏ nhất khi đi từ nút giao thông S đến nút giao thông T sau khi được Quốc vương ban hành chính sách mới.

Dữ liệu vào

  • Dòng đầu ghi năm số nguyên N,M,K,S,T;
  • Dòng thứ i trong M dòng tiếp theo ghi ba số nguyên dương Xi,Yi,Zi.

Các số cách nhau ít nhất một dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất là tổng phí đường bộ nhỏ nhất tìm được.

Ràng buộc

  • 2≤N≤100000, 1≤M≤100000, 0≤K≤10
  • 1≤S,T≤N
  • 1≤Xi,Yi≤N, 1≤Zi≤106
  • Từ mỗi nút giao thông có thể đi đến mọi nút giao thông khác.

Subtasks

  • Subtask 1 (20% số điểm): 1<N,M≤100000 và K=0.
  • Subtask 2 (20% số điểm): 1<N≤100, M≤1000 và K=1.
  • Subtask 3 (20% số điểm): 1<N,M≤100000 và K=1.
  • Subtask 4 (40% số điểm): 100<N,M≤100000 và 1<K≤10.

Ví dụ

Input Output Giải thích
4 4 1 1 4
1 2 10
1 3 30
2 4 20
3 4 5
5 Chọn miễn phí con đường thứ 2, khi đó hành trình là 1→3→4 có tổng phí là: 0+5.
4 4 0 1 4
1 2 10
1 3 30
2 4 20
3 4 5
30 Ví dụ thêm (không có trong đề gốc). Không được miễn phí con đường nào: đi 1→2→4 với tổng phí 10+20=30, rẻ hơn 1→3→4 (35).

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0