1. 程式人生 > >codevs 1073 家族 並查集

codevs 1073 家族 並查集

並查集 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 家族 並查集