过不了样例。。。
#include<bits/stdc++.h>
using namespace std;
int village[1010];
struct road{
int x,y,t;
}c[100010];
bool cmp(road q,road w){
return q.t<w.t;
}
int find(int q){
if(village[q]==0){
return q;
}else{
return village[q]=find(village[q]);
}
}
void join(int q1,int q2){
village[find(q1)]=find(q2);
}
int main(){
//freopen("1.txt","r",stdin);
int n=0,m=0;
cin>>n>>m;
for(int i=1;i<=m;i++){
scanf("%d%d%d",&c[i].x,&c[i].y,&c[i].t);
}
sort(c+1,c+1+m,cmp);
// for(int i=1;i<=m;i++){
// cout<<c[i].t;
// }
for(int i=1;i<=m;i++){
bool a=0;
for(int j=1;j<=n;j++){
if(find(j)==0){
if(a){
cout<<c[j].t;
return 0;
}else{
a=1;
}
}
}
join(c[i].x,c[i].y);
}
for(int j=1;j<=n;j++){
cout<<find(j);
}
cout<<"-1";
}