#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
#include<string.h>
#define LL long long
using namespace std;
int n,m,s,mx;
int father[305];
struct Edge
{
int u;
int v;
int w;
}edge[90005];
int Cmp(Edge x,Edge y)
{
return x.w<y.w;
}
int Find(int x)
{
if(x==father[x]) return x;
return father[x]=Find(father[x]);
}
int Krus()
{
for(int i=1;i<=n;i++) father[i]=i;
sort(edge+1,edge+1+m,Cmp);
for(int i=1;i<=m;i++)
{
int fu=Find(edge[i].u),fv=Find(edge[i].v);
if(fu!=fv)
{
father[fu]=fv;
s++;
mx=max(mx,edge[i].w);
}
}
}
int main()
{
//freopen("test.txt","r",stdin);
s=0,mx=0;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++) scanf("%d%d%d",&edge[i].u,&edge[i].v,&edge[i].w);
Krus();
printf("%d %d\n",s,mx);
}
繁忙的都市
最新推荐文章于 2022-01-20 19:41:07 发布