10分求助!悬关!
  • 板块P1111 修复公路
  • 楼主lin_zxy
  • 当前回复13
  • 已保存回复13
  • 发布时间2023/10/5 18:28
  • 上次更新2023/11/2 15:26:50
查看原帖
10分求助!悬关!
1035772
lin_zxy楼主2023/10/5 18:28

剩下的全是WA,小蒟蒻尽力了

#include<bits/stdc++.h>
using namespace std;
int fa[500000000],ans=0;
struct node{
	int x,y,t;
}a[200000000];
int cmp(const node &a,const node &b){return a.t<b.t;}
int find(int x){ 
	while(x!=fa[x]) x=fa[x]=fa[fa[x]];
	return x;
}
int main()
{
	int n,m,num=0;
	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].t);
	sort(a+1,a+m+1,cmp);
	for(int i=1;i<=m;++i){
    	int fx=find(a[i].x),fy=find(a[i].y);
		if(fx!=fy)fa[fx]=fy,num++;
	    if(num==n-1) {
            printf("%d\n",a[i].t);
			return 0;
		}        
	}
	printf("-1\n");  	
	return 0;
}                   
2023/10/5 18:28
加载中...