📋 代码共享板
当前共享的代码:
#include<bits/stdc++.h>
using namespace std;
#define int long long
int fa[8848];
int sz[8848];
pair<int,pair<int,int>> g[8005];//值,两端
int find(int x
{
if(fa[x]!=x) fa[x]=find(fa[x]);
return fa[x];
}
void merge(int x,int y)
{
x=find(x);
y=find(y);
if(x==y) return;
if(sz[x]<sz[y]) swap(x,y);
fa[y]=x;
sz[x]+=sz[y];
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
fa[i]=i;
sz[i]=1;
}
for(int i=1;i<=m;i++)
{
int u,v,c;
cin>>u>>v>>c;
g[i]={c,{u,v}};
}
sort(g+1,g+m+1);
int ans=0,cnt=0;
for(int i=1;i<=m;i++)
{
int x=find(g[i].second.first),y=find(g[i].second.second);
if(x!=y)
{
merge(x,y);
ans=max(ans,g[i].first);
cnt++;
if(cnt==n-1)break;
}
}
cout<<cnt<<' '<<ans;
}
最后更新:2026-08-21 12:53:15
编辑代码