1341:【例题】一笔画问题
【题目描述】
如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路。
根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历;找欧拉路,则对一个奇点执行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:【例题】一笔画问题相关推荐
- 信息学奥赛一本通 1341:【例题】一笔画问题
[题目链接] ybt 1341:[例题]一笔画问题 [题目考点] 1. 图论:欧拉回路 求解欧拉回路使用Hierholzer算法 复杂度: O ( V + E ) O(V+E) O(V+E) [解题思 ...
- 1341:【例题】一笔画问题——欧拉(回)路
[题目描述] 如果一个图存在一笔画,则一笔画的路径叫做欧拉路,如果最后又回到起点,那这个路径叫做欧拉回路. 根据一笔画的两个定理,如果寻找欧拉回路,对任意一个点执行深度优先遍历:找欧拉路,则对一个奇点 ...
- 算数基本定理(例题:LightOJ1341)
算数基本定理: 基本形式:(Pn表示质数) 导出结论(ACM中会用到的): 1. (正因数个数) 2. (正因数之和) 例题: 1341 - Aladdin and the Flying ...
- 行测-图形推理-5-一笔画类
目录 一.定义 二.如何判断笔画数 三.例题 四.技巧 一.定义 一笔画图形:一幅图能否不重复,不间断的用一笔画出来. 二.如何判断笔画数 1.数图形包含的"奇点"个数. 奇点:如 ...
- 数字电路实验怎么接线视频讲解_【高中物理】电学实验满分知识点总结及例题精讲...
电学实验最全知识点总结 一.实验的考查内容 (1)测定金属的电阻率(练习使用螺旋测微器): (2)描绘小灯泡的伏安特性曲线: (3)测定电源的电动势和内阻: (4)练习使用多用电表: (5)传感器的简 ...
- 4.人工神经网络(一些例题)
感知器神经网络设计的基本方法 一.单层感知器神经网络的 MATLAB 仿真程序设计主要包括以下几个方面: (1)以 newp 创建感知器神经网络 首先根据要解决的问题,确定每个样本的输入向量的取值范围 ...
- 图论的起源:柯尼斯堡七桥(一笔画)问题与欧拉路径/回路
柯尼斯堡七桥问题 大数学家欧拉一生中的大部分时间在俄国和普鲁士度过.1735年,他提出了著名的柯尼斯堡七桥(Seven Bridges of Königsberg)问题: 柯尼斯堡(今俄罗斯加里宁格勒 ...
- 最短路径Djikstra算法 模板+ 例题(九度acm1341: 艾薇儿的演唱会)
最短路径Djikstra算法: 主要思想:先找确定的(即当前最短的),不确定的则动态更新. 从(V-S)集合中找v0到其中最短的路径的顶点,加入到S中并更新(V-S)集合中其他顶点的路径值. ―――― ...
- 一笔画问题(欧拉回路)
前言 问题引入 给出一个有n个节点和m条边的图(可以是无向图也可以是有向图),要求遍历图中所有的边,但每条边只能经过一次.输出符合要求的走法. 证明 该问题最早可追溯到欧拉的七桥问题:对于下图中的七座 ...
最新文章
- php的闭包函数use的使用
- ubuntu14.04设置静态IP
- 扫描PDF417崩溃的原因找到:手机摄像头分辨率低
- 关于windows下的libtorch配置
- java水果超市mysql_Java基础 | 项目实战之水果超市
- 高级语言程序设计c 华南理工,华南理工大学高级语言程序设计(C)期末练习题
- Linux包含一个名称是()的调试程序,开发一个 Linux 调试器(九):处理变量
- gdb调试mpi程序
- eclipse 使用maven 创建springmvc + mybatis
- Java程序设计案例教程
- 农业大省吉林谋乡村全面振兴:农业强、农村美、农民富
- 图特摩斯三世厚积薄发
- tableau 集动作_Tableau训练营:7天,每天30分钟,零基础get数据可视化基本姿势
- 计算机毕业设计ssm基于SSM框架的股票交易系统3cwg3系统+程序+源码+lw+远程部署
- vue中根据汉字生成拼音
- maven项目集成swagger3生成json和yaml格式的openapi文件
- 神经网络图像识别技术,人工神经网络图像识别
- Forkast News对话节目 | 中国的BSN将如何改变区块链?
- NodeBB原型污染漏洞可导致账户遭接管
- 如何从技术牛人转型为管理高手
热门文章
- java音乐播放器视频_java 实现音乐播放器的简单实例
- 去雾论文A real-time fast defogging system to clear the vision of driver in foggy highway using minimu...
- C#视频处理,调用强大的ffmpeg
- Ceph集群增加Mon时出错:admin_socket: exception getting command descriptions: [Errno 2] No such file or direc
- Python Windows发出警报声、蜂鸣器、声音报警
- BERT-QE:用于文档Rerank的上下文化查询扩展模型
- ASPX页生成静态HTML页(五种方案)
- python画混淆矩阵 confusion matrix
- 安卓系统怎么模拟java_电脑上安装安卓系统模拟器的方法(直接用JAVA虚拟成手机)...
- 面试官通用面试问题---------------经典回答