#2836. VOMARIO - Nối mạng

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Một công ty máy tính cần nối mạng n máy tính lại với nhau. Có m phương án nối cáp hai chiều giữa các cặp máy tính, mỗi phương án có một chi phí khác nhau. Hãy tìm cách nối mạng sao cho tất cả các máy tính đều được kết nối (trực tiếp hoặc gián tiếp) và tổng chi phí là nhỏ nhất.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên n m .
  • m dòng tiếp theo, mỗi dòng chứa ba số nguyên u, v, c cho biết có thể nối máy u v với chi phí là c .

Kết quả: Một số nguyên duy nhất là tổng chi phí nhỏ nhất để kết nối tất cả các máy tính.

Ví dụ: Dữ liệu:

5 7
1 2 2
1 4 5
1 5 4
2 3 3
2 5 2
3 4 1
4 5 3

Kết quả:

8

Giải thích: Đây là bài toán tìm cây khung nhỏ nhất của đồ thị. Một phương án tối ưu là chọn các cạnh (3,4) chi phí 1 , (1,2) chi phí 2 , (2,5) chi phí 2 , và (2,3) chi phí 3 . Tổng chi phí là 1+2+2+3 = 8 .

Giới hạn:

  • 1 \le n \le 1000
  • 1 \le m \le 15000
  • 1 \le c \le 30000