tj
2025-09-11 21:42:46
发布于:广东
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
int dad[20005],bad[20005];
struct chou{
int x,y,n;
}g[100005];
bool cmp(chou x,chou y){
return x.n>y.n;
}
int find(int x){
if(dad[x]==x)return x;
return find(dad[x]);
}
bool check(int x,int y){
return find(x)==find(y);
}
void merge(int x,int y){
dad[find(x)]=find(y);
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++)dad[i]=i;
for(int i=1;i<=m;i++)cin>>g[i].x>>g[i].y>>g[i].n;
sort(g+1,g+m+1,cmp);
for(int i=1;i<=m;i++){
if(check(g[i].x,g[i].y)){
cout<<g[i].n;
return 0;
}
if(!bad[g[i].x])bad[g[i].x]=g[i].y;
else merge(bad[g[i].x],g[i].y);
if(!bad[g[i].y])bad[g[i].y]=g[i].x;
else merge(bad[g[i].y],g[i].x);
}
cout<<0;
}
这里空空如也





有帮助,赞一个