【题目描述】

如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。

根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历;找欧拉路,则对一个奇点执行dfs,时间复杂度为O(m+n),m为边数,n是点数。

【输入】

第一行n,m,有n个点,m条边,以下m行描述每条边连接的两点。

【输出】

欧拉路或欧拉回路,输出一条路径即可。

【输入样例】

5 5
1 2
2 3
3 4
4 5
5 1

【输出样例】

1 5 4 3 2 1

其实这题简单是简单,但是一开始我很难理解这题的意思啥,所以花费了时间理解意思

其实图的遍历和前面的dfs和bfs差不多

这题和图的遍历很向 dfs bfs 我都写了试一下

要知道的知识:

定理1:存在欧拉路的条件:图是连通的,有且只有2个奇点。
定理2:存在欧拉回路的条件:图是连通的,有0个奇点。

这题和后面的骑马修栅栏是同一类型的题,所以这个是基础题,对于这个dfs记录路径,起始是递归的回溯而造成的,起始可以把递归理解成栈,先进的后开始对它进行处理,这个num就是如此;

先找到奇点,如果有就说明是欧拉路径,如果没有就说明是欧拉回路,如果是欧拉路径就从奇点开始,如果是欧拉回路可以从任何点开始进行搜索

#include<bits/stdc++.h>
using namespace std;
int mapp[1005][1005];
int n,m;
int s[105];
int c=0;
int num[2005];
void dfs(int i){for(int j=1;j<=n;j++){if(mapp[i][j]==1){mapp[i][j]=mapp[j][i]=0;dfs(j);}}num[++c]=i;
}
int main()
{memset(mapp,0,sizeof(mapp));cin>>n>>m;int a,b;for(int i=1;i<=m;i++){cin>>a>>b;mapp[a][b]=mapp[b][a]=1;s[a]++;s[b]++;}int flag=1;for(int i=1;i<=n;i++){if(s[i]%2==1){flag=i;}}dfs(flag);for(int i=1;i<=c;i++){cout<<num[i]<<" ";}cout<<endl;return 0;
}

1341:【例题】一笔画问题相关推荐

  1. 信息学奥赛一本通 1341:【例题】一笔画问题

    [题目链接] ybt 1341:[例题]一笔画问题 [题目考点] 1. 图论:欧拉回路 求解欧拉回路使用Hierholzer算法 复杂度: O ( V + E ) O(V+E) O(V+E) [解题思 ...

  2. 1341:【例题】一笔画问题——欧拉(回)路

    [题目描述] 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路. 根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历:找欧拉路,则对一个奇点 ...

  3. 算数基本定理(例题:LightOJ1341)

    算数基本定理: 基本形式:(Pn表示质数) 导出结论(ACM中会用到的): 1.    (正因数个数) 2.    (正因数之和) 例题: 1341 - Aladdin and the Flying ...

  4. 行测-图形推理-5-一笔画类

    目录 一.定义 二.如何判断笔画数 三.例题 四.技巧 一.定义 一笔画图形:一幅图能否不重复,不间断的用一笔画出来. 二.如何判断笔画数 1.数图形包含的"奇点"个数. 奇点:如 ...

  5. 数字电路实验怎么接线视频讲解_【高中物理】电学实验满分知识点总结及例题精讲...

    电学实验最全知识点总结 一.实验的考查内容 (1)测定金属的电阻率(练习使用螺旋测微器): (2)描绘小灯泡的伏安特性曲线: (3)测定电源的电动势和内阻: (4)练习使用多用电表: (5)传感器的简 ...

  6. 4.人工神经网络(一些例题)

    感知器神经网络设计的基本方法 一.单层感知器神经网络的 MATLAB 仿真程序设计主要包括以下几个方面: (1)以 newp 创建感知器神经网络 首先根据要解决的问题,确定每个样本的输入向量的取值范围 ...

  7. 图论的起源:柯尼斯堡七桥(一笔画)问题与欧拉路径/回路

    柯尼斯堡七桥问题 大数学家欧拉一生中的大部分时间在俄国和普鲁士度过.1735年,他提出了著名的柯尼斯堡七桥(Seven Bridges of Königsberg)问题: 柯尼斯堡(今俄罗斯加里宁格勒 ...

  8. 最短路径Djikstra算法 模板+ 例题(九度acm1341: 艾薇儿的演唱会)

    最短路径Djikstra算法: 主要思想:先找确定的(即当前最短的),不确定的则动态更新. 从(V-S)集合中找v0到其中最短的路径的顶点,加入到S中并更新(V-S)集合中其他顶点的路径值. ―――― ...

  9. 一笔画问题(欧拉回路)

    前言 问题引入 给出一个有n个节点和m条边的图(可以是无向图也可以是有向图),要求遍历图中所有的边,但每条边只能经过一次.输出符合要求的走法. 证明 该问题最早可追溯到欧拉的七桥问题:对于下图中的七座 ...

最新文章

  1. php的闭包函数use的使用
  2. ubuntu14.04设置静态IP
  3. 扫描PDF417崩溃的原因找到:手机摄像头分辨率低
  4. 关于windows下的libtorch配置
  5. java水果超市mysql_Java基础 | 项目实战之水果超市
  6. 高级语言程序设计c 华南理工,华南理工大学高级语言程序设计(C)期末练习题
  7. Linux包含一个名称是()的调试程序,开发一个 Linux 调试器(九):处理变量
  8. gdb调试mpi程序
  9. eclipse 使用maven 创建springmvc + mybatis
  10. Java程序设计案例教程
  11. 农业大省吉林谋乡村全面振兴:农业强、农村美、农民富
  12. 图特摩斯三世厚积薄发
  13. tableau 集动作_Tableau训练营:7天,每天30分钟,零基础get数据可视化基本姿势
  14. 计算机毕业设计ssm基于SSM框架的股票交易系统3cwg3系统+程序+源码+lw+远程部署
  15. vue中根据汉字生成拼音
  16. maven项目集成swagger3生成json和yaml格式的openapi文件
  17. 神经网络图像识别技术,人工神经网络图像识别
  18. Forkast News对话节目 | 中国的BSN将如何改变区块链?
  19. NodeBB原型污染漏洞可导致账户遭接管
  20. 如何从技术牛人转型为管理高手

热门文章

  1. java音乐播放器视频_java 实现音乐播放器的简单实例
  2. 去雾论文A real-time fast defogging system to clear the vision of driver in foggy highway using minimu...
  3. C#视频处理,调用强大的ffmpeg
  4. Ceph集群增加Mon时出错:admin_socket: exception getting command descriptions: [Errno 2] No such file or direc
  5. Python Windows发出警报声、蜂鸣器、声音报警
  6. BERT-QE:用于文档Rerank的上下文化查询扩展模型
  7. ASPX页生成静态HTML页(五种方案)
  8. python画混淆矩阵 confusion matrix
  9. 安卓系统怎么模拟java_电脑上安装安卓系统模拟器的方法(直接用JAVA虚拟成手机)...
  10. 面试官通用面试问题---------------经典回答