POJ 1611 The Suspects
标准并查集模版题,不多说贴模板。
#include <stdio.h> int a[30005]; int find1(int f) { while(a[f]!=f) { f=a[f]; } return f; } int main() { int n,m; while(scanf("%d%d",&n,&m),n||m) { int i,ans=0; for(i=0; i<n; i++) { a[i]=i; } int t,x,y,x1,y1; for(i=0; i<m; i++) { scanf("%d",&t); scanf("%d",&x); t--; while(t--) { scanf("%d",&y); a[find1(y)]=a[find1(x)]; } } for(i=0; i<n; i++) { int tm=find1(a[0]); if(find1(a[i])==tm) { ans++; } } printf("%d\n",ans); } return 0; }