学了并查集后 这个就很easy啦~
#includeusing namespace std; int m,n,first; int father[30005],num[30005]; void makeSet(int n){ for(int i=0;i >n>>m){ makeSet(n); if(m==0 && n==0){ //退出 return 1; } else{ for(int i=0,x=0;i >x; //输入每组的个数 cin>>first; //输入该组的第一个数字 for(int j=1,y=0;j >y; Union(first,y); } } }//else cout< <