hdu1856

Posted syzf2222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu1856相关的知识,希望对你有一定的参考价值。

求最大连通块……

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e7+10;
const int maxm=2*1e5+10;
int vis[maxn];
int beg[maxn],nex[maxn],to[maxn],e;
inline void add(int x,int y){
    e++;nex[e]=beg[x];
    beg[x]=e;to[e]=y;
}
inline int dfs(int x){
    vis[x]=1;
    int cnt=1;
    for(int i=beg[x];i;i=nex[i]){
        int t=to[i];
        if(!vis[t])cnt+=dfs(t);
    }
    return cnt;
}
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        int x,y;
        e=0;
        memset(vis,0,sizeof(vis));
        memset(beg,0,sizeof(beg));
        for(int i=1;i<=n;i++){
            scanf("%d%d",&x,&y);
            add(x,y),add(y,x);
        }
        int ans=0;
        for(int i=1;i<=10000000;i++)
            if(!vis[i])
                ans=max(ans,dfs(i));
        printf("%d
",ans);
    }
    return 0;
}

 

以上是关于hdu1856的主要内容,如果未能解决你的问题,请参考以下文章

HDU 1856

hdu 1856 More is better(并查集)

HDU 1856 More is better

hdu--1856 More is better

More is better HDU - 1856 ?

HDU 1856 More is better