0pts
查看原帖
0pts
992988
ling_xi_楼主2024/8/9 10:43
#include <bits/stdc++.h>
#define fa father
using namespace std;
int n,m,k;
int fa[1002];
struct SCP
{
    int u,v,w;
}mapp[1002];
bool cmp(SCP x,SCP y)
{
	return x.w<y.w;
}
int find(int x)
{
    if(find(x)==x) return x;
    else return fa[x]=find(fa[x]);
}
void Krus()
{
    int cnt=0;
    int ans=0;
    for(int i=1;i<=n;i++)
    {
	    fa[i]=i;
    }
    for(int i=1;i<=m;i++)
    {
        int a=mapp[i].u , b=mapp[i].v , p=mapp[i].w;
        if(find(a)!=find(b))
        {
            fa[find(a)]=find(b);
            cnt++,ans+=p;
        }
        if(cnt==n-p)
        {
            cout << ans << endl;
            return ;
        }
	}
    cout << "No Answer" << endl;
}
int main()
{
    cin >> n >> m >> k;
    for(int i=1;i<=m;i++)
    {
        int x,y,l;
        std::cin >> x >> y >> l;
        mapp[i].u=x;
        mapp[i].v=y;
        mapp[i].w=l;
    }
    sort(mapp,mapp+m,cmp);
    Krus();
    return 0;
}
2024/8/9 10:43
加载中...