kruscal故障。。。求捉虫
查看原帖
kruscal故障。。。求捉虫
302539
XieGuiYi_aic楼主2022/9/10 08:58
#include<bits/stdc++.h>
using namespace std;
int n,m,minn;
long long mm;
struct poi{
	int u,v,w;
}a[101010];
int f[1000];
bool cmp(poi x,poi y)
{
	return x.w<y.w;
}
int finds(int x){
	return f[x]==x?x:finds(f[x]);
}
int kruscal()
{
	long long MST=0;
	for(int i=0;i<=n;i++)
	f[i]=i;
	for(int i=0;i<=m;i++)
	{
		if(finds(f[a[i].u])!=finds(f[a[i].v]))
		{
			f[finds(a[i].u)]=f[finds(a[i].v)];
			MST+=a[i].w;
			minn=a[i].w;
		}
	}
	return MST;
}
int main()
{
	cin>>n>>m;
	for(int i=0;i<m;i++)
	{
		cin>>a[i].u>>a[i].v>>a[i].w;
		if(a[i].w==0)
		a[i].w=0x3f3f3f3f;
		mm+=a[i].w;
	}
	sort(a,a+n,cmp);
	cout<<mm-kruscal()<<' ';
	return 0;
 } 
2022/9/10 08:58
加载中...