萌新求带呵呵

P3367 【模板】并查集

```cpp #include<iostream> #include<vector> using namespace std; int fa[10010],n,m; /*int find(int x){ while(fa[x]!=x){ x=fa[x]; } return x; }*/ //路径压缩 int find(int x){ if(fa[x]==x) return x; int gen=find(fa[x]); fa[x]=gen; return gen; } void united(int a,int b){ int gena=find(a); int genb=find(b); if(gena!=genb){ fa[gena]=genb; } } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ fa[i]=i; } for(int i=1,z,a,b;i<=m;i++){ cin>>z>>a>>b; if(z==1){ united(a,b); } else{ if(find(a)==find(b)){ cout<<"Y"<<endl; } else{ cout<<"N"<<endl; } } } return 0; } ```
by 美人为限 @ 2017-07-25 16:27:05


|