zoj 1789
2013-09-12 20:53
225 查看
并查集。。
#include <iostream> #include <stdio.h> using namespace std; int group[30000]; int find(int x) { while(group[x]>=0)//==0编号从0开始的!!在这个地方一直错最后才发现 x=group[x]; return x; } void Union(int x,int y) { int r1=find(x); int r2=find(y); if(r1!=r2) {int temp=group[r1]+group[r2]; if(group[r1]<group[r2]) { group[r1]=r2; group[r2]=temp; } else { group[r2]=r1; group[r1]=temp; } } } int main() { int n,m,i; // freopen("1.txt","r",stdin); while(~scanf("%d%d",&n,&m)) { if(n==0&&m==0)break; for(i=0;i<n;i++) group[i]=-1; while(m--) { int k; scanf("%d",&k); int fa; for(i=0;i<k;i++) { int t; scanf("%d",&t); if(i==0) fa=t; else if(i!=0) { Union(fa,t); } } } int s=find(0); cout<<-group[s]<<endl; } return 0; }
相关文章推荐
- ZOJ1789(The Suspects)j简单并查集
- zoj 1789 The Suspects
- zoj - 1789 - The Suspects
- ZOJ 2158 && POJ 1789 Truck History (经典MST)
- zoj 1789 The Suspects
- zoj1789(并查集)
- zoj 1789 The Suspects
- zoj 1789 The Suspects
- zoj 1789 The Suspects
- Truck History POJ 1789 ZOJ 2158 Prim算法
- ZOJ 1789
- ZOJ 1789 水水的并查集,刚开始学会并查集,做了此题。经过一次失败后终于AC了哈哈~ AC感觉就是好啊!与大家共分享啊
- ACM zoj 1789(并查集实现)
- zoj-1789
- zoj 1789||poj 1611 The Suspects(并查集,简单)
- ZOJ-1789
- ZOJ 1789 The Suspects
- zoj 1789 The Suspects
- zoj1789-The Suspects
- ZOJ 1789 The Suspects