Advertisement
Dzham

Untitled

Apr 14th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. int main() {
  6. int N, M, a, b, c, result = 0;
  7. std::cin >> N >> M;
  8. std::vector<std::pair<int, std::pair<int, int>>> edges;
  9. for (int i = 0; i < M; i++) {
  10. std::cin >> a >> b >> c;
  11. edges.push_back(std::make_pair(c, std::make_pair(a - 1, b - 1)));
  12. }
  13. sort(edges.begin(), edges.end());
  14. std::vector<int> trees;
  15. for (int i = 0; i < N; i++) {
  16. trees.push_back(i);
  17. }
  18. for (auto i : edges) {
  19. if (trees[i.second.first] != trees[i.second.second]) {
  20. result += i.first;
  21. int x = trees[i.second.second], y = trees[i.second.first];
  22. for (int j = 0; j < N; j++) {
  23. if (trees[j] == x) {
  24. trees[j] = y;
  25. }
  26. }
  27. }
  28. }
  29. std::cout << result;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement