一些疑问
查看原帖
一些疑问
1026079
xiaotian85楼主2024/5/22 21:50
#include<bits/stdc++.h>
using namespace std;
int n,m,fa[100005],x,k;
struct node{
	int u,v,w;
}a[100005];
bool cmp(node a,node b){
	return a.w>b.w;
}
int find(int x){
	if(fa[x]==x)return x;
	return fa[x]=find(fa[x]);
}
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)fa[i]=i;
	for(int i=1;i<=m;i++)cin>>a[i].u>>a[i].v>>a[i].w;
	sort(a+1,a+m+1,cmp);
	for(int i=1;i<=k;i++){
		if(find(a[i].u)==find(a[i].v))continue;
		x+=a[i].w;
		fa[find(a[i].u)]=find(a[i].v);
	}
	cout<<x;
	return 0;
}

这样为何只有70pts??

2024/5/22 21:50
加载中...