zoukankan      html  css  js  c++  java
  • uva 10054 The Necklace 欧拉回路

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    int g[60][60],in[100],n,m;
    
    void dfs(int t)
    {
        int i;
        for(i=1; i<=50; i++)
            if(g[t][i])
            {
                g[t][i]--;
                g[i][t]--;
                dfs(i);
                printf("%d %d
    ",i,t);
            }
    }
    
    int main()
    {
        int _,i,j,u,v,cnt,cas=0;
        scanf("%d",&_);
        while(_--)
        {
            scanf("%d",&n);
            memset(in,0,sizeof(in));
            memset(g,0,sizeof(g));
            m=0;
            for(i=0; i<n; i++)
            {
                scanf("%d%d",&u,&v);
                in[u]++;
                in[v]++;
                g[u][v]++;
                g[v][u]++;
            }
            for(i=1,cnt=0; i<=50; i++)
                if(in[i]%2==1)
                    cnt++;
            printf("Case #%d
    ",++cas);
            if(cnt!=0) printf("some beads may be lost
    ");
            else
                for(i=1;i<=50;i++)
                    dfs(i);
            if(_) printf("
    ");
        }
        return 0;
    }

    错误

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    struct Edge
    {
      int u,v,use;
    }g[1024];
    int in[100],n;
    
    void dfs(int t,int cnt)
    {
        if(cnt==n) return ;
        int i,u,v;
        for(i=0;i<n;i++)
        {
            if(g[i].use==1) continue;
            u=g[i].u;
            v=g[i].v;
            if(u==t) break;
            if(v==t)
            {
                swap(u,v);
                break;
            }
        }
        g[i].use=1;
        printf("%d %d
    ",u,v);
        dfs(v,cnt+1);
    }
    
    int main()
    {
        int _,i,cnt,m,cas=0;
        scanf("%d",&_);
        while(_--)
        {
            scanf("%d",&n);
            memset(in,0,sizeof(in));
            for(i=0;i<n;i++)
            {
                scanf("%d%d",&g[i].u,&g[i].v);
                g[i].use=0;
                in[g[i].u]++;
                in[g[i].v]++;
            }
            for(i=1,cnt=0;i<=50;i++)
                if(in[i]%2==1)
                    cnt++;
            printf("Case #%d
    ",++cas);
            if(cnt!=0) printf("some beads may be lost
    ");
            else
            {
                printf("%d %d
    ",g[0].u,g[0].v);
                g[0].use=1;
                dfs(g[0].v,1);
            }
            if(_) printf("
    ");
        }
        return 0;
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

  • 相关阅读:
    恰瓜恰到自己家
    在 D 天内送达包裹的能力
    火车编组
    排列小球
    为什么这段时间一直在做算法题呢
    leetcode 221 ,3,480,6,54,46,209,495
    leetcode 684.354,133,207,121,63,64,jz46,120,357
    leetcode 130,200,207,329,491,494,416,547,51
    flink单机搭建以及快速编写一个简单的java job demo运行
    leetcode 437,450,508,513,538,623,652,654,662
  • 原文地址:https://www.cnblogs.com/xryz/p/4847771.html
Copyright © 2011-2022 走看看