求助,21分,玄关
查看原帖
求助,21分,玄关
672757
封禁用户楼主2024/8/4 12:51
#include<bits/stdc++.h>
using namespace std;
long long n,m,k,s;
struct bian
{
	long long x,y,z;
}mm[200005];
long long nn[5005];
bool cmp(bian a,bian b)
{
	return a.z<b.z;
}
long long f(long long x)
{
	return nn[x]==x?x:(nn[x]=f(nn[x]));
}
int main()
{
	cin>>n>>m;
	for(long long i=1;i<=n;i++)
	{
		nn[i]=i;
	}
	for(long long i=1;i<=m;i++)
	{
		cin>>mm[i].x>>mm[i].y>>mm[i].z;
	}
	sort(mm+1,mm+m+1,cmp);
	for(long long i=1;i<=m;i++)
	{
		long long a=mm[i].x,b=mm[i].y;
		if(a==b)
		{
			continue;
		}
		nn[a]=b;
		k++;
		s+=mm[i].z;
		if(k==n-1)
		{
			break;
		}
	}
	if(k!=n-1)
	{
		printf("orz");
	}
	else
	{
		printf("%lld",s);
	}
	return 0;
 } 
2024/8/4 12:51
加载中...