#include<bits/stdc++.h>
using namespace std;
const int N=500100;
struct edge{
int a,b,w;
}edge[N];
int n,m;
int root,res;
int f[N],cnt;
bool cmp(struct edge x,struct edge y)
{
return x.w<y.w;
}
int find(int x)
{
if(f[x]!=x)f[x]=find(f[x]);
return f[x];
}
int main()
{
cin>>n>>m>>root;
for(int i=0;i<m;i++)
{
int a,b,c;
cin>>a>>b>>c;
edge[i].a=a;
edge[i].b=b;
edge[i].w=c;
}
sort(edge,edge+m,cmp);
res=0,cnt=0;
for(int i=1;i<=n;i++)
{
f[i]=i;
}
for(int i=0;i<m;i++)
{
int a=edge[i].a;int b=edge[i].b;
a=find(a), b=find(b);
if(a!=b)
{
f[a]=b;
res=max(res,edge[i].w);
cnt++;
}
}
cout<< res;
}
数据中心 | |
时间限制: | 1.0s |
内存限制: | 512.0MB |
问题描述: | 样例输入 4 样例输出 4 样例说明 下图是样例说明。 |