开O2RE,不开AC了??
查看原帖
开O2RE,不开AC了??
1017103
xhismk17楼主2024/1/22 10:18

不懂了

#include<bits/stdc++.h>
using namespace std;
int n,m,fa[1005],f1[1005];
struct pp{
	int a,b,t;
}w[100005];
int cmp(pp a1,pp a2)
{
	return a1.t<a2.t;
}
int getfa(int p)
{
	if(fa[p]==p) return p;
	fa[p]=getfa(fa[p]);
	return fa[p];
}
int chanfa(int x,int y)
{
	int kx=getfa(x);
	int ky=getfa(y);
	if(kx!=ky) fa[kx]=ky;
}
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",&w[i].a,&w[i].b,&w[i].t);
	sort(w+1,w+m+1,cmp);
	for(int i=1;i<=m;i++)
	{
		chanfa(w[i].a,w[i].b);
		int sum=0;
		fill(f1+1,f1+n+1,0);
		for(int j=1;j<=n;j++)
		{
			int h=getfa(j);
			if(f1[h]==0) sum++;
			f1[h]=1;
		}
		if(sum==1){
			printf("%d",w[i].t);
			return 0;
		}
	}
	printf("-1");
	return 0;
}
2024/1/22 10:18
加载中...