codevs 1073 家族 並查集
阿新 • • 發佈:2017-08-17
並查集 define pan else == stdio.h 技術 log onclick
沒什麽可以說的,並查集裸題,標簽難度和實際不成正比啊,存個板子:
1 #include<stdio.h> 2 #include<string.h> 3 #define maxn 23333 4 int n,m,p,fa[maxn]; 5 int getf(int); 6 int find(int,int); 7 int main() 8 { 9 scanf("%d %d %d",&n,&m,&p); 10 for(int i=1;i<=n;i++)fa[i]=i; 11 for並查集(int i=1;i<=m;i++){ 12 int x,y,t1,t2; 13 scanf("%d %d",&x,&y); 14 t1=getf(x); 15 t2=getf(y); 16 fa[t1]=t2; 17 } 18 for(int i=1;i<=p;i++){ 19 int x,y; 20 scanf("%d %d",&x,&y); 21 if(find(x,y)) printf("Yes\n"); 22 else printf("No\n"); 23 } 24 return 0; 25 } 26 int getf(int x){ 27 return fa[x]==x?x:getf(fa[x]); 28 } 29 int find(int x,int y) 30 { 31 int t1=getf(x),t2=getf(y); 32 return t1==t2?1:0; 33 }
codevs 1073 家族 並查集