Khôi phục hệ thống đường

Xem dạng PDF

Mô tả bài toán: Khôi phục hệ thống đường tối thiểu

n thành phố và m con đường giữa chúng. Đáng tiếc là các con đường này hiện không thể sử dụng được do tình trạng quá kém. Nhiệm vụ của bạn là sửa chữa một số con đường sao cho tất cả các thành phố đều được kết nối với nhau.

Mỗi con đường có một chi phí sửa chữa, và bạn cần tìm giải pháp với tổng chi phí nhỏ nhất.


Input:

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~: số lượng thành phố và số lượng con đường.
  • Sau đó có ~m~ dòng, mỗi dòng chứa ba số nguyên ~a, b, c~:
    • ~a~: thành phố bắt đầu.
    • ~b~: thành phố kết thúc.
    • ~c~: chi phí sửa chữa con đường từ ~a~ đến ~b~.
  • Mỗi con đường là hai chiều.

Output:

  • Nếu có giải pháp, in ra một số nguyên: tổng chi phí sửa chữa tối thiểu.
  • Nếu không có giải pháp, in "IMPOSSIBLE".

Ràng buộc:

  • ~1 \leq n \leq 10^5~
  • ~1 \leq m \leq 2 \cdot 10^5~
  • ~1 \leq a, b \leq n~
  • ~1 \leq c \leq 10^9~

Ví dụ :

Input:
5 6
1 2 3
2 3 5
2 4 2
3 4 8
5 1 7
5 4 4
Output:
14

Giải thích:

  • Để kết nối tất cả các thành phố với chi phí tối thiểu:
    • Sửa các con đường: ~(2, 4)~, ~(1, 2)~, ~(5, 4)~, ~(2, 3)~.
    • Tổng chi phí: ~2 + 3 + 4 + 5 = 14~.



Bình luận

Hãy đọc nội quy trước khi bình luận.

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

Gửi bài giải
Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout
Nguồn bài: CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Kotlin
Pascal
PyPy
Python
Scratch