其他分享
首页 > 其他分享> > 【YBTOJ】繁忙的都市

【YBTOJ】繁忙的都市

作者:互联网

在这里插入图片描述

思路:

这道题就是最小生成树模板题

c o d e code code

#include<iostream>
#include<cstdio>
#include<algorithm>

using namespace std;

int n, m, fa[100010];
struct node
{
	int x, y, z;
}a[1001000];

bool cmp(node x, node y)
{
	return x.z<y.z;
}

int find(int x)
{
	if(fa[x]==x)
		return fa[x];
	else return fa[x]=find(fa[x]);
}

int main()
{
	scanf("%d%d", &n, &m);
	for(int i=1; i<=n; i++)
		fa[i]=i;
	for(int i=1; i<=m; i++)
		scanf("%d%d%d", &a[i].x, &a[i].y, &a[i].z);
	sort(a+1, a+1+m, cmp);
	int ans=0;
	for(int i=1; i<=m; i++)
	{
		int fx=find(a[i].x);
		int fy=find(a[i].y);
		if(fx!=fy)
		{
			ans=max(ans, a[i].z);
			fa[fx]=fy;
		}
	}
	printf("%d %d", n-1, ans);
	return 0;
}

标签:fy,return,int,YBTOJ,ans,fa,都市,繁忙,find
来源: https://blog.csdn.net/liuziha/article/details/115413097