zoj 1789 The Suspects

来源:互联网 发布:怎么在淘宝店里卖二手 编辑:程序博客网 时间:2024/05/22 00:38

这道题是并查集的题,写过这道题之后,我明白了一点,就是从根上改变所属father域可怜

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>int p[30000+100];int a[30000+100];int find(int x){    if(p[x] == x)       return x;    p[x] = find(p[x]);    return p[x];}int main(){   int n,m,k,i,count,temp;   while(scanf("%d%d",&n,&m) == 2,n*n+m*m)   {      for(i=0;i<n;i++)      p[i] = i;      while(m--)      {        scanf("%d",&k);        for(i=0;i<k;i++)          scanf("%d",&a[i]);        for(i=0;i<k-1;i++)             if(find(p[a[i]]) != find(p[a[i+1]]))                 p[find(p[a[i+1]])] = find(p[a[0]]);      }      count = 0;      for(i=0;i<n;i++)      if(find(i) == find(0))        count++;      printf("%d\n",count);   }   return 0;}


 

 

原创粉丝点击