C2. Party

来源:互联网 发布:汉诺塔问题算法 编辑:程序博客网 时间:2024/04/30 04:19

题意:额,只要注意each的意思

做法:基本的并查集技术,只要理解了each的意思...

#include<cstdio>#define LMT 2002using namespace std;int get[LMT],fs,father[LMT];int work(int u){    int x=u;    while(x!=father[x])        x=father[x];    father[u]=x;    return x;}int main(void){    int i,n,k,m,u,v,a,b,ans;    scanf("%d",&n);    scanf("%d",&k);    for(i=1;i<=n;i++)    {        get[i]=1;        father[i]=i;    }    while(k--)    {        scanf("%d%d",&u,&v);        a=work(u);b=work(v);        if(a!=b)        {            get[a]+=get[b];            father[b]=a;        }    }    scanf("%d",&m);    while(m--)    {        scanf("%d%d",&u,&v);        a=work(u);b=work(v);        if(a==b)get[a]=0;    }    ans=0;    for(i=1;i<=n;i++)    if(i==work(i)&&ans<get[i])    ans=get[i];    printf("%d\n",ans);    return 0;}


原创粉丝点击