1.欧拉回路:定义:经过图(有向图或无向图)中每条边一次且仅一次并且行遍图中每个顶点的回路( 闭合的欧拉路径,即一个环,保证每条边都通过且仅通过一次)
2.问题1:判断一个无向图是否有欧拉回路的充要条件:
(1)图G是连通的,无孤立的点
(2)无向图奇度点数为0

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
const int maxx=1005;
const int inf=0x3f3f3f3f;
int e[maxx][maxx];
int indegree[maxx];
int vis[maxx];
int outdegree[maxx];
int n,m;
int cnt;//记录访问的顶点数
int mark;//标记是否所有的顶点都是连通的
void init(){cnt=0;mark=0;memset(indegree,0,sizeof(indegree));memset(outdegree,0,sizeof(outdegree));memset(e,0,sizeof(e));memset(vis,0,sizeof(vis));
}
void dfs(int u){vis[u]=1;cnt++;if(cnt==n&&mark==0){mark=1;return ;}for(int i=1;i<=n;i++){if(vis[i]==0){if(e[u][i]==1){dfs(i);}}}
}
int main(){while(scanf("%d",&n)!=EOF){if(n==0)break;scanf("%d",&m);init();for(int i=1;i<=m;i++){int a,b;scanf("%d %d",&a,&b);e[a][b]=e[b][a]=1;indegree[a]++;indegree[b]++;}dfs(1);int flag=1;for(int i=1;i<=n;i++){if(indegree[i]%2!=0){flag=0;break;}}if(mark==1&&flag==1){cout<<"1"<<endl;}else{cout<<"0"<<endl;}}return 0;
}

HDU1878(判断一个无向图是否存在欧拉回路)相关推荐

  1. 【数据结构】-图-判断一个无向图是否是一棵树

    思路:判断一个无向图是否是一棵树,只需要判断该图是否是一个包含n个顶点的连通子图且边数为n-1,只要这两个条件都满足,那么就是一棵树. 因此我们可以采用深度遍历,若图连通,那么只要一次深度遍历就可以遍 ...

  2. poj1386(判断一个有向图是否存在欧拉回路)

    1.欧拉回路:定义:经过图(有向图或无向图)中每条边一次且仅一次并且行遍图中每个顶点的回路( 闭合的欧拉路径,即一个环,保证每条边都通过且仅通过一次). 2.问题2:判断一个图是否有欧拉路径: (1) ...

  3. 利用并查集判断一个无向图是否成树

    hdu 1272 利用并查集方法,找到各点的根节点. 几点注意: 一.树:1.无环 2.根节点入度为0,其余入度为1 判断依据: 1.若两个点的根节点相同(这两个点是父子关系),则形成环. 2.若所有 ...

  4. 判断一个图是否为树(有向图以及无向图)

    整理的算法模板合集: ACM模板 目录 判断一个图是否为树 1. 无向图(hdu 1272 小希的迷宫) 2. 有向图(hdu 1325 Is It A Tree?) 判断一个图是否为树 1. 无向图 ...

  5. 判断图有无环_【转】判断一个图是否有环 无向图 有向图

    无向图: 法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法: 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一. 第二 ...

  6. 判断一个图是否有环(有向图,无向图)

    无向图: 法1: 如果存在回路,则必存在一个子图,是一个环路.环路中所有顶点的度>=2. n算法:   中 第一步:删除所有度<=1的顶点及相关的边,并将另外与这些边相关的其它顶点的度减一 ...

  7. linux判断是否能上网_母亲提醒女儿:判断一个男人是否值得嫁,从这两点就能轻易看出...

    没有哪个母亲不希望自己的女儿能够在长大之后嫁给一个出色的男人. 当然,这样的男人不需要有太多的钱或者出色的外貌,但必须得具备一定的人品. 我的一个朋友今年26岁,已经到了适婚年龄的她渴望着嫁给一个好男 ...

  8. python怎样判断一个文件是否存在_python如何判断一个文件是否存在

    python如何判断一个文件是否存在 发布时间:2020-09-23 11:38:42 来源:亿速云 阅读:82 作者:Leah python如何判断一个文件是否存在?针对这个问题,这篇文章详细介绍了 ...

  9. 判断一个IP区间(或IP)是否被另一个IP区间所包含

    以下方法实现判断一个IP是否被一个IP区间所包含 有一些静态方法可能引用了同名空间的自定义的类, 至于合并两个相临的IP段,可对其中的最大或最小IP+1 using System; using Sys ...

最新文章

  1. 原理:什么是Quadtrees?(转)
  2. Atcoder Keyence Programming Contest 2020 D - Swap and Flip
  3. 算法导论( FFT 自动机 最优二叉搜索树 !!!)
  4. 字节输入流-InputStream demo3
  5. 2008年9月三级网络技术考试试卷 参考答案1
  6. 发布文章自动上传图片并生成水印
  7. JDK各个版本的新特性jdk1.5-jdk8
  8. 虚机里的vCenter 迁移
  9. 有限状态机FSM的写法
  10. Windows常用密码的破解方法
  11. 一不做,二不休, 干脆把开局库更换的批处理文件也调试好放出来...
  12. 乘幂法求矩阵的特征值及特征向量
  13. 如何写好一篇综述类论文?
  14. OceanBase使用 OBD 自动化部署多节点集群
  15. java定时器timer 取消_JAVA定时器Timer的使用
  16. Android自带Switch系列汇总学习
  17. 网关Gateway的介绍与使用
  18. 最基础且详细的 RPCA-ALM 算法推导过程(手写稿)
  19. 大规模视觉定位地图关键技术:使用视觉匹配提升GPS的绝对定位精度
  20. C++第三次实验:税收计算

热门文章

  1. 操作系统学习:启动进入实模式
  2. Django视图之类视图与中间件
  3. TensorFlow之图结构与TensorBoard可视化
  4. HTML页面展示遇到问题
  5. 超详讲解图像拼接/全景图原理和应用 | 附源码
  6. RNN 扫盲:循环神经网络解读及其 PyTorch 应用实现
  7. Tensorflow + OpenCV4 安全帽检测模型训练与推理
  8. 5 行代码实现图像分割
  9. 初次遇见NLP:从词向量到BERT
  10. 编写更少量的代码:使用apache commons工具类库