不懂了
#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;
}