std::array<ll, mx> parent;
12std::vector<std::pair<ll, std::pair<ll, ll>>> edges;
14 for(
inti = 0; i <
node+ edge; ++i) {
20 while(parent[i] != i) {
21parent[i] = parent[parent[i]];
27voidjoin(
intx,
inty) {
30parent[root_x] = root_y;
35 for(
inti = 0; i < edge; ++i) {
36 llx = edges[i].second.first;
37 lly = edges[i].second.second;
38 if(root(x) != root(y)) {
39mincost += edges[i].first;
48 intfrom = 0, to = 0, cost = 0, totalcost = 0;
49std::cin >>
node>> edge;
50 if(
node== 0 && edge == 0) {
54 for(
inti = 0; i < edge; ++i) {
55std::cin >> from >> to >> cost;
56edges.emplace_back(make_pair(cost, std::make_pair(from, to)));
59sort(edges.begin(), edges.end());
60std::cout << kruskal() << std::endl;
int main()
Main function.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4