zoukankan      html  css  js  c++  java
  • uva 10054 The Necklace(欧拉通路)

    提交了7次,总算AC了。题目不难,就是判断下欧拉通路。注意细节。

    /*
    Status:AC
    Title :The Necklace
    */
    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <string>
    #include <stack>
    #include <queue>
    #include <set>
    #include <map>
    typedef long long ll;
    using namespace std;
    
    const int INF=0x3f3f3f3f;
    const int MAXN=1010;
    
    int g[MAXN][MAXN];
    int h[MAXN];//记录每个点出现的次数
    bool vis[MAXN];
    
    int n,num;
    
    
    void euler(int u){
    	for(int v=1;v<=50;v++)if(g[u][v]>0){
    		g[u][v]--;
    		g[v][u]--;
    		euler(v);
    		printf("%d %d
    ",v,u );
    	}
    }
    void dfs(int u){
    	num++;
    	vis[u]=true;
    	for(int v=1;v<=50;v++)if(!vis[v] && g[u][v]>0){
    		
    		dfs(v);
    	}
    }
    
    int main()
    {
    	int t;
    	scanf("%d",&t);
    	for(int cas=1;cas<=t;cas++){
    		printf("Case #%d
    ",cas );
    
    		memset(g,0,sizeof g);
    		memset(h,0,sizeof h);
    		memset(vis,0,sizeof vis);
    		while(!s.empty())s.pop();
    		num=0;
    		int first=0;
    
    		scanf("%d",&n);
    		for(int i=0;i<n;i++){
    			int u,v;
    			scanf("%d %d",&u,&v);
    
    			if(first==0)first=u;
    
    			g[u][v]++;
    			g[v][u]++;
    			h[u]++;
    			h[v]++;
    		}
    
    		bool ok=true;
    		int cnt=0;
    
    		for(int i=1;i<=50;i++){
    			if(h[i])cnt++;
    			if(h[i]%2!=0){ //如果存在奇点
    				ok=false;
    				break;
    			}
    		}
    
    		if(!ok){
    			printf("some beads may be lost
    ");
    		}
    		else{
    			dfs(first);
    
    			if(num==cnt){
    				euler(first);
    			}else{
    				printf("some beads may be lost
    ");
    			}
    		}
    		if(cas<t)printf("
    ");
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    css滚动条设置
    动态背景插件three.min.ts
    富文本编辑器ckeditor使用(angular中)
    angular接口传参
    angular组件图标无法显示的问题
    angular项目搭建
    使用Flume
    centos7 安装Flume
    centos7 安装kubernetes
    Nginx的rewrite对地址进行重写
  • 原文地址:https://www.cnblogs.com/bruce27/p/4737096.html
Copyright © 2011-2022 走看看