并查集裸题,注意(0)的特判,此时没有朋友关系,房间里只能留下一个人,其余(10000000-1)都要移出去。
const int N=1e7+10;
int p[N];
int cnt[N];
int n,m;
int find(int x)
{
if(x != p[x]) p[x]=find(p[x]);
return p[x];
}
int main()
{
while(cin>>m)
{
for(int i=1;i<N;i++) p[i]=i,cnt[i]=1;
int ans=1;
while(m--)
{
int a,b;
cin>>a>>b;
int pa=find(a),pb=find(b);
if(pa != pb)
{
p[pa]=pb;
cnt[pb]+=cnt[pa];
ans=max(ans,cnt[pb]);
}
}
cout<<ans<<endl;
}
//system("pause");
return 0;
}