社区讨论
10分求助QAQ
P3366【模板】最小生成树参与者 10已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @mi866bbz
- 此快照首次捕获于
- 2025/11/21 09:16 4 个月前
- 此快照最后确认于
- 2025/11/21 09:16 4 个月前
#include
#include
#include
#define M 200005
using namespace std;
int fa[M];
struct edge{
int h,t,w;
}a[M];
bool cmp(edge x,edge y){
return x.w<y.w;
}
int find(int x){
if(fa[x]==x)return x;
fa[x]=find(fa[x]);
return fa[x];
}
int main(){
freopen("000.in","r",stdin);
freopen("000.out","w",stdout);
int n,m,ans=0;
cin>>n>>m;
for(int i=0;i<m;i++){
scanf("%d%d%d",&a[i].h,&a[i].t,&a[i].w);
}
sort(a,a+m,cmp);
for(int i=0;i<n;i++)fa[i]=i;
int l,r,b=0;
for(int i=0;i<m;i++){
l=a[i].h;r=a[i].t;
if(find(l)==find(r))continue;
else {
fa[find(l)]=find(r);
ans+=a[i].w;
b++;
if(b==n-1)break;
CPP }
}
printf("%d",b);
fclose(stdin);
fclose(stdout);
return 0;
}
/*
4 5
1 2 2
1 3 2
1 4 3
2 3 4
3 4 3
/
/
5 18
2 4 276
3 3 435
3 4 608
2 4 860
1 2 318
1 3 547
5 4 419
2 5 98
1 5 460
5 3 399
3 5 240
3 2 733
3 3 903
4 2 909
5 2 206
3 4 810
2 1 115
2 3 419
*/
回复
共 9 条回复,欢迎继续交流。
正在加载回复...