例题6.4.4
来源:互联网 发布:ipadair2怎么卸载软件 编辑:程序博客网 时间:2024/05/22 11:53
欧拉回路
#include <iostream>#include <fstream>using namespace std;ifstream fin("in.txt");#define LEN 1001bool visited[LEN];bool arc[LEN][LEN];int degree[LEN];int n,m;void dfs(int v) //深度优先遍历{ visited[v]=true; for(int i=1;i<=n;i++) { if(!visited[i] && arc[v][i]) { dfs(i); } }}bool isConnected() //查看遍历后结果{ for(int i=1;i<=n;i++) { if(!visited[i]){return false;} } return true;}bool isCircuit() //通过度数是否为偶数判断欧拉回路{ for(int i=1;i<=n;i++) { if(degree[i]%2){return false;} } return true;}int main(){ int i,p,q; while(1) { memset(visited,0,LEN); memset(arc,0,sizeof(bool)*LEN*LEN); memset(degree,0,sizeof(int)*LEN); fin>>n>>m; if(n==0)break; for(i=0;i<m;i++) { fin>>p>>q; degree[p]++;degree[q]++; arc[p][q]=arc[q][p]=true; } dfs(1); if(!isConnected()){cout<<0<<endl;} else{ if(isCircuit())cout<<1<<endl; else cout<<0<<endl; } } return 0;}
- 例题6.4.4
- 6.4例题--排列--1833
- 例题6.4.1
- 例题6.4.2
- 例题6.4.3
- 例题4-4
- 例题4-4 uva213
- C语言例题4:
- 例题3-4
- 例题5.4.4
- 例题7.4.4
- 例题2-4
- 例题3-4
- 例题2-4
- 例题3-4
- 例题4-1
- 例题4-2
- 例题4-3
- 程序员怎么选择发展方向 - 月光博客
- Mysql+keepalived主从切换
- C++ sizeof 使用规则及陷阱分析
- linux安装mysql5.5(rpm格式)
- 运行库与多线程
- 例题6.4.4
- Windows 7和虚拟机的无法ping通
- 使用泛型的好处
- 使用 eflash 工具升级Power固件
- UVa 111 - History Grading
- Android4.2
- 地理诗句谚语例析
- JavaScript之Cookie与表单验证
- 基础语言-题目64(鸡兔同笼)