【模板】 欧拉路 欧拉回路
来源:互联网 发布:网络教育教学 编辑:程序博客网 时间:2024/06/02 23:15
啥是欧拉路(欧拉回路)??
如果给定无孤立结点图G,若存在一条路,经过图中每边一次且仅一次,这条路称为欧拉路;
如果给定无孤立结点图G,若存在一条回路,经过图中每边一次且仅一次,那么该回路称为欧拉回路。
存在欧拉回路的图,称为欧拉图。
欧拉路(欧拉回路)有啥用??
一笔画问题 即寻找欧拉路或欧拉回路
裸的模板题 骑马修栅栏,很裸很裸很裸
欧拉路(欧拉回路)怎么写??
如果寻找欧拉回路,对任意一个点进行dfs,寻找欧拉路,则对一个度为 1 的点进行dfs,时间复杂度为O(m+n),m为边数,n为点数
#include <bits/stdc++.h>using namespace std;int n,m,pic[1100][1100],d[1100],road[1500],now;void dfs(int x){ for(int i=1;i<=500;i++) if(pic[x][i]) { pic[x][i]--; //注意可能有重边 pic[i][x]--; dfs(i); } road[++now]=x; //记录路径}int main(){ cin>>m; for(int i=1;i<=m;i++) { int x,y; cin>>x>>y; pic[x][y]++; pic[y][x]++; d[x]++; d[y]++; } int st=1; //如果无度为1的点,则从任意点开始搜,即寻找欧拉回路 for(int i=1;i<=500;i++) //如果有度为1的点,则从该点开始搜,即寻找欧拉路 if(d[i]%2) { st=i; break; } dfs(st); for(int i=now;i>=1;i--) { cout<<road[i]<<endl; } return 0;}
1 0
- 【模板】 欧拉路 欧拉回路
- 欧拉回路模板
- 欧拉回路模板
- 模板 欧拉回路
- {模板}欧拉回路
- 欧拉回路,欧拉路
- 欧拉回路,欧拉路
- 欧拉回路,欧拉路
- 欧拉回路,欧拉路
- 欧拉回路,欧拉路
- 欧拉回路,欧拉路
- 欧拉回路求解 Fleury模板
- poj2230(欧拉回路模板)
- 欧拉回路Fleury算法模板
- [模板]求解欧拉路径,欧拉回路
- 欧拉回路与欧拉路
- 欧拉路与欧拉回路
- 欧拉路与欧拉回路
- 创建表空间以及用户,授予权限,查看表空间名称及大小,物理文件的名称及大小,数据库的创建日期和归档方式,数据库的版本,数据库库对象,表空间的使用情况,表空间读写
- springboot学习(二) Spring Boot 快速入门
- IMX6UL EVK OP-TEE SET TZASC ENABLE
- iOS正则表达式(NSRegularExpression)
- 数据泵导入导出
- 【模板】 欧拉路 欧拉回路
- JVM性能调优参数整理
- uva12563 Jin Ge Jin Qu
- Struts2总结---ognl概念和原理详解 (7)
- 21点黑杰克
- android自定义view--温度计
- PFILE和SPFILE介绍
- zookeeper--ZAB协议
- Nginx+Center OS 7.2 开机启动设置(转载)