zoukankan      html  css  js  c++  java
  • 并查集模版

    #include <stdio.h>
    int bin[50010];

    int findx(int x)
    {
        int r=x;
        while(r!=bin[r])
            r=bin[r];
        int j=x;
        int k;
        while(bin[j]!=r)
        {
           k=bin[j];
           bin[j]=r;
           j=k;
        }
        return r;
    }

    void merge(int x,int y)
    {
        int fx,fy;
        fx = findx(x);
        fy = findx(y);
        if(fx != fy)
            bin[fx] = fy;
    }

    int main()
    {
        int n,m,x,j,y,i,k=0,count;
        bin[0]=0;
        while(scanf("%d%d",&n,&m)!=EOF&&(n||m))
        {
            for(i=1;i<=n;i++)
                bin[i]=i;
            for(j=m;j>0;j--)
            {
                scanf("%d %d",&x,&y);
                merge(x,y);
            }
            for(count=0,i=1;i<=n;i++)
                if(bin[i] == i)
                    count ++;
            k++;
            printf("Case %d: %d ",k,count);

        }
           return 0;
    }

    #include <stdio.h>
    int bin[50010];

    int findx(int x)
    {
        int r=x;
        while(r!=bin[r])
            r=bin[r];
        int j=x;
        int k;
        while(bin[j]!=r)
        {
           k=bin[j];
           bin[j]=r;
           j=k;
        }
        return r;
    }

    void merge(int x,int y)
    {
        int fx,fy;
        fx = findx(x);
        fy = findx(y);
        if(fx != fy)
            bin[fx] = fy;
    }

    int main()
    {
        int n,m,x,j,y,i,k=0,count;
        bin[0]=0;
        while(scanf("%d%d",&n,&m)!=EOF&&(n||m))
        {
            for(i=1;i<=n;i++)
                bin[i]=i;
            for(j=m;j>0;j--)
            {
                scanf("%d %d",&x,&y);
                merge(x,y);
            }
            for(count=0,i=1;i<=n;i++)
                if(bin[i] == i)
                    count ++;
            k++;
            printf("Case %d: %d ",k,count);

        }
           return 0;
    }

  • 相关阅读:
    开启sftp服务日志并限制sftp访问目录
    Django-16-安装前端项目
    sql
    Django-15-用户模块、认证授权、session会话认证和token认证
    Django-14-项目工程搭建
    开发小技巧
    Django-13-类视图设计原则
    Django-11-自动生成routers路由、自定义action
    Django-9-序列化器中各种校验方式
    Django—问题—生成迁移脚本时报错:You are trying to add a non-nullable field 'gender' to interfaces without a default
  • 原文地址:https://www.cnblogs.com/zhangmingcheng/p/3667312.html
Copyright © 2011-2022 走看看