zoukankan      html  css  js  c++  java
  • HDOJ 1856 More is better

    转自:wutianqi http://www.wutianqi.com/?p=1069

    tag:并查集

    #include <iostream>
    using namespace std;
     
    #define MAX 10000001
     
    // father[x]表示x的父节点
    int father[MAX];
    // rank[x]表示x的秩
    int rank[MAX];
     
    // 初始化
    void Make_Set(int n)
    {
        for(int i=1; i<=n; ++i)
        {
            father[i] = i;
            rank[i] = 1;
        }
    }
     
    // 查找
    int Find_Set(int x)
    {
        if(x != father[x])
            return Find_Set(father[x]);
        return x;
    }
     
    // 合并
    void Union(int x, int y)
    {
        x = Find_Set(x);
        y = Find_Set(y);
        if(x == y)  // x,y在同一个集合
            return;
        if(rank[x] > rank[y])
        {
            father[y] = x;
            rank[x] += rank[y];
        }
        else if(rank[x] < rank[y])
        {
            father[x] = y;
            rank[y] += rank[x];
        }
        else
        {
            father[x] = y;
            //rank[y]++;
            rank[y] += rank[x];
        }
     
    }
     
    int main()
    {
        //freopen("input.txt", "r", stdin);
        int a, b;
        int nNum;
        while(scanf("%d", &nNum) != EOF)
        {
            Make_Set(MAX);
            if(nNum==0)
            {
                printf("1
    ");
                continue;
            }
            for(int i=0; i<nNum; ++i)
            {
                scanf("%d %d", &a, &b);
                Union(a, b);
                //printf("rank[%d]=%d rank[%d]=%d
    ", a, rank[a], b, rank[b]);
            }
            int _max=0;
            for(int i=0; i<=MAX; ++i)
                //printf("%d ", rank[i]);
                if(_max < rank[i])
                    _max = rank[i];
            printf("%d
    ", _max);
        }
        return 0;
    }
  • 相关阅读:
    Nacos配置管理-什么是配置中心
    MYSQL count
    贷款
    短视频推荐图书
    前端
    err
    err
    Mysql8安装教程
    err
    err
  • 原文地址:https://www.cnblogs.com/panweishadow/p/3205531.html
Copyright © 2011-2022 走看看