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

    http://acm.hdu.edu.cn/showproblem.php?pid=1878

    一个无向图存在欧拉回路,当且仅当该图所有顶点度数都是偶数且该图是连通图。

    连通图用并查集判断

    View Code
    #include <iostream>
    using namespace std ;
    int hash[1002] ;
    int idx[1002] ;
    int find(int x)
    {
        return idx[x]==x?x:idx[x]=find(idx[x]) ;
    }
    int main()
    {
        int n,m ;
        while(scanf("%d",&n),n)
        {
            memset(hash,0,sizeof(hash)) ;
            scanf("%d",&m) ;
            int a,b ;
            for(int i=1;i<=n;i++)
                idx[i]=i ;
            while(m--)
            {
                scanf("%d%d",&a,&b) ;
                int p,q ;
                p=find(a) ;
                q=find(b) ;
                if(p!=q)
                {
                    if(p>q)
                        idx[p]=q ;
                    else
                        idx[q]=p ;
                }
                hash[a]++,hash[b]++ ;
            }
            int flag=0,zz ;
            zz=idx[1] ;
            for(int i=1;i<=n;i++)
            {
            
                if(hash[i]&1)
                {
                    flag=1 ;
                    break ;
                }
                if(zz!=idx[i])
                {
                    flag=1 ;
                    break ;
                }
            }
            if(flag)
                puts("0") ;
            else
                puts("1") ;
        }
        return 0 ;
    } 
  • 相关阅读:
    Desert King
    Dropping tests
    01分数规划小结
    简单的数学题
    [HAOI2016]放棋子
    [SDOI2017]数字表格
    诸侯放置
    LJJ爱数数
    车的放置
    [SDOI2014]数表
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/2551686.html
Copyright © 2011-2022 走看看