kruskal算法模板

来源:互联网 发布:云计算技术是什么 编辑:程序博客网 时间:2024/06/17 22:27
#include <bits/stdc++.h>using namespace std;const int maxn = 66666;int fa[maxn];struct edge{    int from, to, value;    bool operator < (const edge & p)    {        return value < p.value;    }}edges[maxn];void init(){    for(int i = 1; i < maxn; i++)        fa[i] = i;}int find(int x){    if(x == fa[x])        return x;    return fa[x] = find(fa[x]);}int main(){    int n;    cin >> n;    for(int i = 0; i < n; i++)        cin >> edges[i].from >> edges[i].to >> edges[i].value;    sort(edges, edges + n);    int ans = 0;    for(int i = 0; i < n; i++)    {        int x = find(edges[i].from);        int y = find(edges[i].to);        if(x != y)        {            ans += edges[i].value;            fa[x] = y;        }    }}

0 0
原创粉丝点击