第一次在网上求助,能有缘遇见好心人吗?
#include<bits/stdc++.h>
using namespace std;
int n, m, i, j, f[100005], cnt;
struct node{
int s, e;
int time;
}a[100005];
bool cmp(node x, node y){
if(x.time<y.time)
return true;
return false;
}
int find(int x){
if(f[x]!=x){
f[x] = find(f[x]);
}
return f[x];
}
void add(int x, int y){
if(f[y]==y){
cnt--;
}
f[y] = x;
}
int main(){
cin>>n>>m;
for(i=1;i<=m;i++){
cin>>a[i].s>>a[i].e>>a[i].time;
}
sort(a+1, a+m+1, cmp);
cnt = n;
for(i=1;i<=n;i++){
f[i] = i;
}
for(i=1;i<=m;i++){
if(cnt==1){
cout<<a[i-1].time;
return 0;
}
int ss = a[i].s;
int ee = a[i].e;
int tt = a[i].time;
int r1 = find(ss);
int r2 = find(ee);
if(r1!=r2){
add(r1, r2);
}
}
cout<<"-1";
return 0;
}