zoukankan      html  css  js  c++  java
  • hdoj 1272(并查集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1272

    刚开始没有考虑到这一棵树有没有合并,导致wa了。

     1 #include<cstdio>
     2 #include<cstring>
     3 using namespace std;
     4 const int maxn=100006;
     5 int fa[maxn];
     6 bool book[maxn];
     7 
     8 void init()
     9 {
    10     for(int i=0;i<maxn;i++){
    11         fa[i]=i;
    12         book[i]=0;
    13     }
    14 }
    15 
    16 int find_fa(int x)
    17 {
    18     return fa[x]==x?x:fa[x]=find_fa(fa[x]);
    19 }
    20 
    21 int main()
    22 {
    23     int n,m,flag=1,top,head;
    24     init();
    25     top=0; head=maxn;
    26     while( ~scanf("%d%d",&n,&m)){
    27         int num=0;
    28 
    29         if(n==-1&&m==-1) break;
    30         if(n==0&&m==0){
    31             for(int i=head;i<=top;i++){
    32                 if(fa[i]==i&&book[i])
    33                     num++;
    34                 if(num>1){
    35                     flag=0;
    36                     break;
    37                 }
    38             }
    39             if(flag) printf("Yes
    ");
    40             else printf("No
    ");
    41             flag=1; init();
    42             top=0; head=maxn;
    43             continue;
    44         }
    45         if(top<n) top=n;
    46         if(top<m) top=m;
    47         if(head>n) head=n;
    48         if(head>m) head=m;
    49         int opn=find_fa(n);
    50         int opm=find_fa(m);
    51         book[n]=book[m]=true;
    52         if(opn!=opm) fa[opn]=opm;
    53         else flag=0;
    54     }
    55     return 0;
    56 }
  • 相关阅读:
    jquery常用语句
    记录一个奇异的问题
    冰块渲染2
    冰块渲染
    GCAlloc 问题一则
    矩阵基础3
    优化 Overdraw 和 GrabPass
    优化平面法线贴图
    环境模拟
    使用 GPU 加速计算
  • 原文地址:https://www.cnblogs.com/ZQUACM-875180305/p/9115305.html
Copyright © 2011-2022 走看看