题目链接:
题意:朋友圈问题,A和B是朋友,B和C是朋友则A和C也是朋友,依次类推,题目的意思就是求最大的朋友圈,即求最大集合中元素的个数。裸的并查集加个秩数组就行了。
#includeint father[100050];int rank[100050];int Find_Set (int x){ if(x!=father[x]) father[x] = Find_Set(father[x]); return father[x];}int main(){ int n; while(scanf("%d",&n)!=EOF) { for(int i=0;i<100040;i++) { father[i] = i; rank[i] = 1; } for(int i=0;i _max) ? rank[i]:_max; printf("%d\n",_max); } return 0;}