zoukankan      html  css  js  c++  java
  • (并查集)Is It A Tree? --POJ--1308

    链接:

    http://poj.org/problem?id=1308

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82830#problem/N

    代码:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    
    #define N 100005
    
    int f[N];
    bool r[N];
    
    void IN()
    {
        memset(r, false, sizeof(r));
        for(int i=0; i<N; i++)
            f[i]=i;
    }
    
    int Find(int x)
    {
        while(x!=f[x])
        {
            x=f[x];
        }
        return f[x];
    }
    
    int main()
    {
        int a, b, fa, fb, i,sum=0, flag1=0, flag2=0, k=1, MIN, MAX;
    
        IN();
        while(scanf("%d%d", &a, &b), a>=0 || b>=0)
        {
            if(a==0 && b==0)
            {
              if(sum==0)
              {
                   printf("Case %d is a tree.
    ", k++);
                   continue;
              }
              int z = Find(MIN);
              for(i=MIN; i<=MAX; i++)
              {
                  if(r[i])
                  {
                      if(z!=Find(i))  // 根(父)节点不同
                      {
                          flag2=1;
                          break;
                      }
                  }
              }
    
              if(flag1 || flag2)
                printf("Case %d is not a tree.
    ", k++);
              else
                printf("Case %d is a tree.
    ", k++);
              IN();
              sum=0, flag1=0, flag2=0;
            }
            else
            {
               sum++;
               r[a] = 1, r[b] = 1;
               MIN = min(MIN, min(a ,b)), MAX = (MAX, max(a, b));
    
               fa = Find(a), fb = Find(b);
               if(fa != fb)
                f[fa] = fb;
               else      //构成了环
                flag1=1;
            }
    
        }
        return 0;
    }
    勿忘初心
  • 相关阅读:
    b_lc_数组的最大公因数排序(并查集+质因数分解优化)
    Coggle 30 Days of ML:结构化赛题:天池二手车交易价格预测(二)
    Coggle 30 Days of ML:结构化赛题:天池二手车交易价格预测(一)
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
    漫谈
  • 原文地址:https://www.cnblogs.com/YY56/p/4735917.html
Copyright © 2011-2022 走看看