码迷,mamicode.com
首页 > 其他好文 > 详细

poj1611

时间:2014-06-09 13:34:51      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:c   a   int   string   set   for   

0号患了病毒,只要和0号一组的人同样会患病毒。。。。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int bin[30010];
int q[30010];
int n,m;
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int findx(int x)
{
int r,j,k;
r=x;
while(bin[r]!=r)
r=bin[r];
k=x;
while(k!=r)
{
j=bin[k];
bin[k]=r;
k=j;

}
return r;
}
void merge(int x,int y)
{
int fx,fy;
fx=findx(x);
fy=findx(y);
if(fx!=fy)
{
bin[fx]=fy;
}
}

int main()
{
int n,x,t,i,j;
while(scanf("%d%d",&n,&x)!=EOF)
{
if(n==0&&x==0) break;
for(i=0;i<n;i++)
bin[i]=i;
while(x--)
{
scanf("%d",&t);
memset(q,0,sizeof(q));
for(j=0;j<t;j++)
scanf("%d",&q[j]);
qsort(q,t,sizeof(q[0]),cmp);
for(j=1;j<t;j++)
{
merge(q[j],q[j-1]);
}

}
/*for(i=0;i<n;i++)
printf("...%d",bin[i]);*/
int l=1;
for(i=1;i<n;i++)
{
if(findx(i)==findx(0))
l++;

}
printf("%d\n",l);

}
return 0;
}

poj1611,布布扣,bubuko.com

poj1611

标签:c   a   int   string   set   for   

原文地址:http://www.cnblogs.com/zhangmingcheng/p/3776748.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!