#include<stdio.h> #include<string.h> #include<stdlib.h> int parent[10000010]; int find(int i) { for(;parent[i]>=0;i=parent[i]) {;} return i; } void weightunion(int i,int j) { int temp=parent[i]+parent[j]; if(parent[i]>parent[j]) { parent[i]=j; parent[j]=temp; } else { parent[j]=i; parent[i]=temp; } } int main() { int M; while(scanf("%d",&M)!=EOF) { int i,res=0; for(i=0;i<=10000010;i++) parent[i]=-1; for(i=0;i<M;i++) { int a,b; scanf("%d%d",&a,&b); a=find(a); b=find(b); if(a!=b) weightunion(a,b); } for(i=0;i<=10000010;i++) { if(parent[i]<res) res=parent[i]; } printf("%d\n",-res); } return 0; }
08-05
08-05