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

    欧拉回路解释

    对于本题我们只要把每个点的度进行记录,判断是否存在奇数度的点,如果是就可以判断不是欧拉回路,如果不是就在一个点出发,进行dfs搜索,

    看能否走到起点,因为对于欧拉回路是一个闭合的回路,无论在哪个点出发都应当可以走回起点,所以一次性遍历必将经过每个点,如果出现没有

    走过的点,则不是欧拉回路。

     1 #include<iostream> 
     2 #include<cstring>
     3 using namespace std;
     4 const int maxn=1200;
     5 int degree[maxn];
     6 int vis[maxn];
     7 int maze[maxn][maxn];
     8 int n,m;
     9 void dfs(int i)
    10 {
    11     vis[i]=1;
    12     for(int j=1;j<=n;j++)
    13     {
    14         if(!vis[j]&&maze[i][j])
    15         {
    16             dfs(j);
    17         }
    18     }
    19     return;
    20 }
    21 int main()
    22 {
    23 
    24     int a,b;
    25     while(cin>>n&&n)
    26     {
    27         bool flag=false;
    28         cin>>m;
    29         memset(degree,0,sizeof(degree));
    30         memset(maze,0,sizeof(maze));
    31         memset(vis,0,sizeof(vis));
    32         for(int i=1;i<=m;i++)
    33         {
    34             cin>>a>>b;
    35             maze[a][b]=maze[b][a]=1;
    36             degree[a]++;
    37             degree[b]++;
    38         }
    39         for(int i=1;i<=n;i++)
    40         {
    41             if(degree[i]%2==1)
    42                 flag=true;
    43         }
    44         if(flag)
    45         {
    46             cout<<0<<endl;
    47             continue;
    48         }
    49         int p=0;
    50         for(int i=1;i<=n;i++)
    51         {
    52             if(!vis[i])
    53             {
    54                 p++;
    55                 dfs(i);
    56             }
    57         }
    58         if(p==1)cout<<1<<endl;
    59         else cout<<0<<endl; 
    60     }
    61     return 0;
    62 }
    What I don't dare to say is I can't!
  • 相关阅读:
    MySQL之force index和ignore index
    Linux中CPU性能分析工具perf简单使用(亲测可用)
    Linux之SeLinux
    Docker基础
    yum常用命令
    MySQL总结
    MySQL字符集详解
    MySQL5.6的4个自带库详解
    Python操作MySQL
    MySQL索引原理
  • 原文地址:https://www.cnblogs.com/sytu/p/3871568.html
Copyright © 2011-2022 走看看