Có N thành phố ở Byte và có k thành phố trong số chúng là các thành phố quan trọng (k<=n).
Có M con đường hai chiều ở Byte, mỗi con đường nối giữa hai thành phố. Một số con đường đã xuống cấp, cần phải được sửa chữa lại. Với mỗi con đường, chi phí sửa chữa được biết trước.
Nhiệm vụ của bạn là hãy chọn những con đường cần sửa chữa sao cho k thành phố quan trọng sẽ được nối với những con đường được sửa chữa và tổng chi phí sửa chữa là ít nhất
Dữ liệu vào : CITIESK.INP
Dữ liệu ra: CITIESK.OUT
Tổng chi phí nhỏ nhất để sửa chữa các con đường kết nối tất cả các thành phố quan trọng của đất nước
Giới hạn: 1 ≤ c ≤ 109 và n ≥ k.
Subtask 1 (22 test): 2 ≤ k ≤ 5; n ≤ 20; 1 ≤ m ≤ 40
Subtask 2 (14 test): 2 ≤ k ≤ 3; n ≤ 105; 1 ≤ m ≤ 2 ×105
Subtask 3 (15 test): 2 ≤ k ≤ 4; n ≤ 1000; 1 ≤ m ≤ 2000
Subtask 4 (23 test): k = 4; n ≤ 105; 1 ≤ m ≤ 2 ⋅ 105
Subtask 5 (26 test): k <= 7; n ≤ 105 ; 1 ≤ m ≤ 2 ⋅ 105
Base on THREE, QBBUILD, NKBUILD
CITIESK.INP |
CITIESK.OUT |
4 3 6 1 3 4 1 2 4 1 3 9 2 3 2 2 4 5 3 4 8 |
11
|