PAT1107甲级代码如下#include#includeusingnamespacestd;intfather[1001];inthobby[1001]={0};intcnt[1001]={0};boolcompare(inta,intb){returna>b;}intfindfather(intx){intv;if(x==father[x]){returnx;}else{v=findfather(father[x]);father[x]=v;returnv;}}voidunionset(inta,intb){intfathera=findfather(a);intfatherb=findfather(b);if(fathera!=fatherb){father[fatherb]=fathera;}}intmain(){intnumpeople;inteachnum;for(intp=0;p{father[p]=p;}intindex;scanf("%d",&numpeople);for(inti=1;i{scanf("%d:",&eachnum);for(intj=0;j{cin>>index;if(hobby[index]==0){hobby[index]=i;}unionset(i,hobby[index]);}}for(inti=1;i{cnt[findfather(i)]++;}intcount=0;for(inti=0;i{if(cnt[i]!=0){count++;}}sort(cnt,cnt+1001,compare);coutfor(intq=0;q{cout}coutreturn0;}