Xây dựng mạng lưới đường
Đề bài
Mô tả
Một tỉnh có thành phố đánh số từ đến , hiện chưa có con đường nào. Có phương án xây đường, phương án thứ xây một con đường hai chiều nối thành phố với thành phố với chi phí .
Hãy chọn một số phương án để xây sao cho từ mỗi thành phố đều đi được tới mọi thành phố khác (có thể đi qua các thành phố trung gian), và tổng chi phí là nhỏ nhất.
Lưu ý: có thể có nhiều phương án nối cùng một cặp thành phố, và có phương án với (con đường đó vô dụng).
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên , .
- dòng tiếp theo, dòng thứ chứa ba số nguyên .
Dữ liệu ra
In ra tổng chi phí nhỏ nhất. Nếu không thể nối tất cả các thành phố, in ra .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 6 1 2 3 2 3 1 4 4 1 3 4 4 1 3 2 2 3 8 |
7 | Xây các đường (chi phí ), (chi phí ) và (chi phí ). Đường không giúp nối thêm thành phố nào. |
| 5 3 1 2 5 2 3 5 4 5 1 |
-1 | Không có phương án nào nối nhóm với nhóm . |
Bình luận