poj 1611 并查集
2015-05-04 17:06
288 查看
题意:学校里有若n个学生,被分为m组,一个学生可以参加多个组,其中0号学生受到感染,求和他接触或者间接接触的人的数目
链接:点我
链接:点我
#include <stdio.h> #include <algorithm> #include <iostream> #include <string.h> using namespace std; const int MAXN=30010; int F[MAXN]; int num[MAXN]; int find(int x) { if(F[x]==-1)return x; return F[x]=find(F[x]); } void bing(int x,int y) { int t1=find(x); int t2=find(y); if(t1!=t2) { F[t1]=t2; num[t2]+=num[t1]; } } int main() { int n,m; int a,a0; int i,j,k; #ifndef ONLINE_JUDGE freopen("1.in","r",stdin); #endif while(scanf("%d%d",&n,&m)!=EOF) { if(n==0&&m==0) break; for(i=0;i<n;i++) { F[i]=-1; num[i]=1; } for(i=0;i<m;i++) { scanf("%d",&k); for(j=0;j<k;j++) { if(j==0) { scanf("%d",&a0); } else { scanf("%d",&a); bing(a,a0); } } } printf("%d\n",num[find(0)]); } return 0; }
相关文章推荐
- POJ 1611 The Suspects(并查集)
- poj1611 并查集
- poj 1611_The Suspects_并查集
- poj 1611 The Suspects(并查集)
- poj 1611 并查集 按数目合并
- poj-1611 并查集
- POJ1611 The Suspects (并查集)
- POJ-1611 并查集
- POJ1611 The Suspects (并查集)
- POJ1611-The Suspects-并查集
- 并查集 POJ 1611
- POJ-1611 并查集-The Suspects
- poj 1611 并查集(需要隔离的人数)
- POJ 1611 The Suspects【并查集】
- POJ 1611 The Suspects:并查集
- POJ 1611 The Suspects(并查集)
- poj 1611 The Suspects(并查集)
- poj1611 The Suspects(并查集)
- 并查集 POJ 1611
- POJ 1611 The Suspects(并查集求集合的基数)