hdu1856

来源:互联网 发布:淘宝网王小帮 编辑:程序博客网 时间:2024/05/29 18:35
#include <iostream>#include <cstdio>using namespace std;const int maxn = 10000005;int f[maxn];int a[maxn];void gg(){    for(int i = 1; i <= maxn; i++)    {        f[i] = i;        a[i] = 1;    }}int find_fa(int x){    if(f[x] != x) f[x] = find_fa(f[x]);    return f[x];}void hb(int u, int v){    u = find_fa(u);    v = find_fa(v);    if(u != v)    {        f[u] = v;        a[v] += a[u];    }}int main(){    int n;    while(scanf("%d", &n)!=EOF)//没有!=eof就不断超时    {        gg();        int u, v, _max = -1;        for(int i = 0; i < n; i++)        {            scanf("%d%d", &u, &v);            hb(u, v);            //if(_max < a[v]); _max = a[v];        }        for(int i=0; i<maxn; i++)        {            if(a[i]>_max)                _max=a[i];        }        printf("%d\n", _max);    }    return 0;}