#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<string>#include<algorithm>#include<stack>#include<queue>#include<map>#include<vector>#include<iostream>using namespace std;const int maxn = 10000000+10;int n;int pre[maxn];int sum[maxn];int Find( int x){ if( x == pre[x]) return x; return pre[x] = Find(pre[x]);}void Union( int x, int y){ int px = Find(x); int py = Find(y); if( px == py) return; pre[px] = py; sum[py] += sum[px];}int main(){ while( ~scanf("%d",&n)) { if( n == 0)//不存在关系时要特殊判断一下子 { printf("1/n"); continue; } for( int i = 1; i < maxn; i++) { pre[i] = i; sum[i] = 1; } int a,b; int tmp = 0; for( int i = 1; i <= n; i++) { scanf("%d%d",&a,&b); tmp = max( tmp,max(a,b)); Union(a,b); } int ans = 0; for( int i = 1; i <= tmp; i++) ans = max( ans,sum[i]); printf("%d/n",ans); } return 0;}
新闻热点
疑难解答