欧拉回路输出
来源:互联网 发布:windows 10桌面美化 编辑:程序博客网 时间:2024/06/05 11:08
欧拉道路
无向图:
连通且最多有2个奇数边的点,则一定存在欧拉道路,是边只能走一遍,点是可以走多次的
如果有2个奇点,必定从其中一个点开始从另外一个点结束。
如果无奇点,则为欧拉回路,任意点出发并回到起始点。
euler(x),的参数x是起点即可。
欧拉回路
有向图:
最多2个点入度不等于出度,且其中一个点的出度比入度大一,另一个点入度比出度大1。
如果有2个点,那么就从这个出度大的开始到入度大的结束
欧拉道路
#include <iostream>#include <string.h>using namespace std;bool map1[105][105];bool used[105][105];int indegree[105];int ourdegree[105]; int m;int euler(int v){for(int i=0;i<=m;i++)if(map1[v][i]&&!used[v][i]){used[v][i]=used[i][v]=1;euler(i);cout << v << " " << i << endl;}}int main(){int maxn=0;freopen("in.txt","r",stdin);memset(map1,0,sizeof(map1));memset(indegree,0,sizeof(indegree));int i,j,k,t1,t2,n;cin >> n >> m;for(i=0;i<m;i++){cin >> t1 >> t2;map1[t1][t2]=1;map1[t2][t1]=1;indegree[t1]++;indegree[t2]++;}for(i=1;i<=n;i++){if(indegree[i]%2==1)maxn++;}if(maxn>2)cout << "无欧拉路" << endl;elseeuler(1);return 0;}
欧拉回路
输入的点要求是起点。
输出结果是逆序的。
#include <iostream>#include <string.h>using namespace std;bool map1[105][105];bool used[105][105];int indegree[105];int outdegree[105];int m;int euler(int v){for(int i=0;i<=m;i++)if(map1[v][i]&&!used[v][i]){used[v][i]=used[i][v]=1;euler(i);cout << v << " " << i << endl;}}int main(){int maxn=0;freopen("in.txt","r",stdin);memset(map1,0,sizeof(map1));memset(indegree,0,sizeof(indegree));memset(outdegree,0,sizeof(outdegree));int i,j,k,t1,t2,n;cin >> n >> m;for(i=0;i<m;i++){cin >> t1 >> t2;map1[t1][t2]=1;outdegree[t1]++;indegree[t2]++;}int u=0;int v=0;maxn=0;for(i=1;i<=n;i++){if(indegree[i]!=outdegree[i]){ maxn++; if(outdegree[i]>indegree[i])v=i;}}v=max(1,v);if(maxn>2)cout << "no" << endl;else{euler(v);}return 0;}
0 0
- 欧拉回路输出
- 欧拉回路--输出欧拉回路的路径
- 欧拉回路(通路)的输出
- fleury算法输出欧拉回路
- Fleury算法-输出欧拉回路
- UVA10054 The Necklace (输出欧拉回路)
- 欧拉回路输出路径 POJ
- fleury算法输出欧拉回路
- POJ 1780 欧拉i回路判断&&输出欧拉回路
- 欧拉回路的构建及输出欧拉回路的路径
- codeforces 723e One-Way Reform (欧拉回路) || 欧拉回路路径输出模板
- PKU 2337 判断并输出欧拉回路
- John's trip 欧拉回路输出路径
- Catenyms poj hoj 欧拉回路输出路径
- poj1041John's trip(欧拉回路+输出路径)
- UVA 10735 最大流 混合欧拉回路 输出路径
- UVA 10735 最大流 混合欧拉回路 输出路径
- POJ 2230 - Watchcow 输出欧拉回路点的路径...
- 初识android动画(4)之属性动画
- Theano教程:使用逻辑回归分类MNIST数字
- storm从kafka中读数据
- Qt - Button
- ThinkPad点击文件夹有声音解决方案
- 欧拉回路输出
- Java程序员从笨鸟到菜鸟之(八十四)深入浅出Ajax
- Atitit 软件开发中 瓦哈比派的核心含义以及修行方法以及对我们生活与工作中的指导意义
- 剑指offer——面试题49:不使用atoi库函数实现把字符串转换成整数
- Java程序员从笨鸟到菜鸟之(三十)javascript弹出框、事件、对象化编程
- JavaScript中的this用法
- 什么是设计模式
- LeetCode 434. Number of Segments in a String
- 文件锁