蒟蒻爆零求助
  • 板块P2820 局域网
  • 楼主BigEmo
  • 当前回复5
  • 已保存回复5
  • 发布时间2022/8/24 20:12
  • 上次更新2023/10/27 13:49:30
查看原帖
蒟蒻爆零求助
726942
BigEmo楼主2022/8/24 20:12
#include<bits/stdc++.h>
using namespace std;
int n,k;
struct abc{
	int i,j,m;
}ab[9999];
int f[9999];
int find(int x)
{
	if(f[x]==x)
	return x;
	else return f[x]=find(f[x]);
}
bool cmp(abc a,abc b)
{
   return a.m<b.m;	
}
int sum,ans;
void kkk()
{
	sort(ab+1,ab+n+1,cmp);
	for(int i=1;i<=n;i++) f[i]=i;
    int num=1;
    for(int i=1;i<=k;i++){
    	if(find(ab[i].i)==find(ab[i].j)) continue;
    	ans+=ab[i].m;
    	f[find(ab[i].i)]=find(ab[i].j);
    	num++;
    	if(num==n) return;
    }
}
int main(){
	scanf("%d%d",&n,&k);
	for(int i=1;i<=k;i++)	
	{
		scanf("%d%d%d",&ab[i].i,&ab[i].j,&ab[i].m);
		sum+=ab[i].m;
	}
    kkk();
//    cout<<ans<<endl;
//    cout<<sum<<endl;
    cout<<sum-ans;
	return 0;
}

实在找不出错了, 为什么爆0

2022/8/24 20:12
加载中...