trang chủ / bài tập / vacation

Lập Kế Hoạch Du Lịch

Đề bài

Mô tả

N trang trại và K trạm trung chuyển (hub). Trạm trung chuyển là một tập con K trang trại đầu tiên (trang trại 1 đến K). Có M chuyến bay một chiều giữa các trang trại, mỗi chuyến bay từ trang trại u đến trang trại v với chi phí d.

Cho Q yêu cầu di chuyển, mỗi yêu cầu từ trang trại a đến trang trại b. Một hành trình hợp lệ phải đi qua ít nhất một trạm trung chuyển (tức là tồn tại một trạm h (1hK) sao cho có đường đi từ a đến h và từ h đến b).

Với mỗi yêu cầu, tìm chi phí nhỏ nhất để đi từ a đến b qua ít nhất một trạm trung chuyển. Nếu không có hành trình hợp lệ nào, bỏ qua yêu cầu đó.

Dữ liệu vào

  • Dòng 1: Bốn số nguyên N, M, K, Q.
  • M dòng tiếp theo: Mỗi dòng gồm ba số nguyên ui, vi, di — chuyến bay từ trang trại ui đến vi với chi phí di.
  • Q dòng tiếp theo: Mỗi dòng gồm hai số nguyên ai, bi — yêu cầu di chuyển từ ai đến bi.

Dữ liệu ra

  • Dòng 1: Số lượng yêu cầu có hành trình hợp lệ.
  • Dòng 2: Tổng chi phí nhỏ nhất của tất cả các yêu cầu hợp lệ.

Ràng buộc

  • 1N200
  • 1K100, KN
  • 1M10000
  • 1di1000000
  • 1Q10000

Ví dụ

Input Output Giải thích
3 3 1 3
3 1 10
1 3 10
1 2 7
3 2
2 3
1 2
2
24
Hub duy nhất là trang trại 1. Yêu cầu 3→2: đi 3→1→2 tốn 10+7=17. Yêu cầu 2→3: không có đường qua hub 1. Yêu cầu 1→2: đi 1→2 tốn 7. Tổng: 2 yêu cầu hợp lệ, chi phí 24.

Ghi chú

Cần xét mọi trạm trung chuyển có thể để tìm chi phí tối thiểu. Chi phí từ a đến b qua hub hdist(a,h)+dist(h,b).

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0