zoukankan      html  css  js  c++  java
  • hdu1856

    View Code
    #include<iostream>
    using namespace std;
    #define M 10000001
    int father[M];
    int _max;
    int sum[M];
    int FindFa( int a )
    {
    if( father[a] == a )
    {
    return a;
    }
    return father[a] = FindFa( father[a] ); }
    void UnionFa( int a , int b ) //将a,b合并
    {
    father[b]
    = a; //把a设为b的父结点
    sum[a] += sum[b]; //当有元素加入a中时,使其个数加sum[b]个
    if( sum[a] > _max )
    { _max
    = sum[a]; }
    }
    int main()
    {
    int a , b , n;
    int i;
    while( scanf( "%d" , &n ) != EOF )
    {
    _max
    = 1;
    for( i = 0 ; i < M ; ++i )
    { father[i]
    = i; sum[i] = 1; }
    for( i = 0 ; i < n ; ++i )
    {
    scanf(
    "%d %d" , &a , &b );
    a
    = FindFa( a );
    b
    = FindFa( b );

    if( a != b )
    { UnionFa( a , b ); }
    }
    printf(
    "%d\n" , _max );
    }
    return 0;
    }

    http://acm.hdu.edu.cn/showproblem.php?pid=1856
  • 相关阅读:
    函数
    循环练习
    循环结构
    分支结构
    C语言关键字
    进制编码
    MAC/Xcode简单操作命令
    Hibernate
    Hibernate
    Hibernate
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/2006835.html
Copyright © 2011-2022 走看看