计数有多少个集合应是
for(int i=1;i<=n;i++){ if(fa[i]==i)Cnt++; }
但下面这样会错,为什么?
for(int i=1;i<=n;i++){ if(!cnt[fa[i]]){ cnt[fa[i]]=1; Cnt++; } }