zoukankan      html  css  js  c++  java
  • hdu 1878 欧拉回路

    判断一个连通图无向图是否存在欧拉回路的条件: 无奇度的节点

    判断是不是连通图,可以用并查集

    判断节点是不是奇度可以开一个数组记录。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    
    const int maxn=1010;
    int ff[maxn],father[maxn],summ[maxn];
    int n,m;
    
    int find(int x)
    {
        if(x!=father[x]) father[x]=find(father[x]);
        return father[x];
    }
    
    int main()
    {
        int i,u,v;
        while(~scanf("%d",&n))
        {
            if(n==0) break;
            scanf("%d",&m);
            for(i=0;i<=n;i++) father[i]=i;
            memset(ff,0,sizeof(ff));
            memset(summ,0,sizeof(summ));
            for(i=0;i<m;i++)
            {
                scanf("%d%d",&u,&v);
                summ[u]++;summ[v]++;
                int fu=find(u);
                int fv=find(v);
                if(fu!=fv) father[fu]=fv;
            }
            for(i=1;i<=n;i++){int yy=find(i);ff[yy]=1;}
            int tott=0,jieguo=0;
            for(i=1;i<=n;i++) if(ff[i]==1) tott++;
            for(i=1;i<=n;i++) if(summ[i]%2==1) {jieguo=1;break;}
            if(tott!=1) jieguo=1;
            if(jieguo==1) printf("0
    ");
            else printf("1
    ");
        }
        return 0;
    }
  • 相关阅读:
    JSTL标签库
    JavaScript中数组操作
    jquery . fancybox()
    jQuery ajax
    jquery学习笔记2
    codeforces_1066_B.Heaters
    codeforces_1065_D.three pieces_思维
    codeforces_B. Forgery
    codeforces_C. Sequence Transformation
    codeforces_D. Social Circles
  • 原文地址:https://www.cnblogs.com/zufezzt/p/4563925.html
Copyright © 2011-2022 走看看