zoukankan      html  css  js  c++  java
  • UVA 10596 Morning Walk

    题意:给定一个图,求这个图是否是欧拉回路(题意有点模糊,是回路,而且图必须联通)

    解题思路:检查图的联通性,且每个点的度都为偶数

    解题代码:

    // File Name: uva10596.c
    // Author: darkdream
    // Created Time: 2013年06月15日 星期六 20时44分39秒
    
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<time.h>
    #include<math.h>
    int map[204][204];
    int kk[204];
    int visit[204];
    int n , ok ;
    void dfs(int k )
    {
       for(int i =  0 ;i < n;i ++)
       {
         if(map[k][i] != 0  && visit[i] == 0)
            {     
               visit[i] = 1;
               dfs(i);
            }
       }
    
    }
    int main(){
    
       //freopen("/home/plac/problem/input.txt","r",stdin);
       //freopen("/home/plac/problem/output.txt","w",stdout);
       int  m ;
       while(scanf("%d %d",&n,&m) != EOF)
       { int a,  b;
         int begin = 0;
         ok = 1;
         memset(map,0,sizeof(map));
         memset(visit,0,sizeof(visit));
         memset(kk,0,sizeof(kk));
         while(m--)
         {
           scanf("%d %d",&a,&b);
           map[a][b]++ ;
           map[b][a]++;
           kk[a] ++;
           kk[b] ++;
           begin = b;
         }
         visit[b] = 1;
         dfs(b);
         for(int i = 0 ; i < n;i ++)
         {
           if( visit[i] == 0  )
               ok = 0 ;
         }
         for(int i =0 ;i < n;i ++ )
         {
           if(kk[i] %2 == 1)
               ok = 0;
         }
         if( ok == 1)
             printf("Possible\n");
         else
             printf("Not Possible\n");
       }
       
    return 0 ;
    }
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    iOS7 自己定义动画跳转
    Android开发之用双缓冲技术绘图
    postgres 使用存储过程批量插入数据
    渗透过程
    python pytesseract使用
    排序算法比较
    python算法
    python中PIL模块
    数字电路复习
    windows服务参考
  • 原文地址:https://www.cnblogs.com/zyue/p/3138101.html
Copyright © 2011-2022 走看看