我真的眼瞎看不出来了,求调,78……
查看原帖
我真的眼瞎看不出来了,求调,78……
592402
Pure_Echo楼主2024/8/6 16:52
#include<bits/stdc++.h>
using namespace std;
int n,m;

int fu[5010];
struct op{
	int u,v,w;
}e[20010];
bool cmp(op x,op y){
	return x.w<y.w;
}
int fin(int x){
	if (x!=fu[x]) return fu[x]=fin(fu[x]);
	return x;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++) cin>>e[i].u>>e[i].v>>e[i].w;
	sort(e+1,e+m+1,cmp);
	for(int i=1;i<=n;i++) fu[i]=i;
	int cnt=0,ans=0;
	for(int i=1;i<=m;i++){
		int u=fin(e[i].u);
		int v=fin(e[i].v);
		if(u==v) continue;
		fu[v]=u;
		cnt++;
		ans+=e[i].w;
	}
	if(cnt!=n-1) printf("orz");
	else cout<<ans;
	return 0;
} 
2024/8/6 16:52
加载中...