並查集(luogu 3367)
阿新 • • 發佈:2018-12-15
模板如下:
#include <bits/stdc++.h> #define ll long long #define N 10005 using namespace std; int fa[N]; int findf(int x) { if(x==fa[x]) return x; return fa[x]=findf(fa[x]); } int main() { int n,m; scanf("%d%d",&n,&m); for(int i = 1;i <= n;i++) { fa[i]=i; } for(int i = 1;i <= m;i++) { int z,x,y; scanf("%d%d%d",&z,&x,&y); int t1=findf(x); int t2=findf(y); if(z==1) { if(t1!=t2) fa[t1]=t2; }else if(z==2) { if(t1==t2) puts("Y"); else puts("N"); } } return 0 ; }