RT,放代码
#include<bits/stdc++.h>
using namespace std;
int f[50002],n,m,s,t;
struct edge{
int u,v,w;
};
struct edge e[10006];
bool cmp(edge x,edge y){
return x.w<y.w;
}
int getf(int k){
while(k!=f[k]) k=f[k]=getf(f[k]);
return k;
}
void merge(int u,int v){
int t1=getf(u);
int t2=getf(v);
if(t1!=t2){
f[t2]=t1;
}
}
int main(){
scanf("%d%d%d%d",&n,&m,&s,&t);
for(int i=1;i<=n;i++){
f[i]=i;
}
for(int i=1;i<=m;i++){
scanf("%d%d%d",&e[i].u,&e[i].v,&e[i].w);
}
sort(e+1,e+m+1,cmp);
int count,sum;
for(int i=1;i<=m;i++){
merge(e[i].u,e[i].v);//对两个社区进行合并
if(getf(s)==getf(t)){
cout<<e[i].w<<endl;
return 0;
}
}
return 0;
}
救救孩子吧