递归的路径压缩为啥不行哈

P3367 【模板】并查集

吃饭且睡觉66 @ 2019-08-23 17:20:19

include<bits/stdc++.h>

using namespace std; int f[10001],n,m,a,b,c; int getfather(int a) { int b=a,c; while(a!=f[a]) { f[a]=getfather(a); } return f[a]; } int main() { cin>>n>>m; for(int i=1;i<=n;i++) { f[i]=i; } for(int i=1;i<=m;i++) { cin>>a>>b>>c; if(a==1) { f[getfather(c)]=getfather(b); } else { if(getfather(b)==getfather(c)) { cout<<"Y"<<endl; } else { cout<<"N"<<endl; } } }

}

by BIG_Showers @ 2019-08-23 17:25:53

希望更丰富的展现?使用Markdown


by yi_shang @ 2019-09-01 22:17:54

@BIG_Showers 魔鬼吧


|