📋 代码共享板

当前共享的代码:

#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
编辑代码