博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
欧拉回路
阅读量:6984 次
发布时间:2019-06-27

本文共 1412 字,大约阅读时间需要 4 分钟。

求欧拉回路dfs代码:

#include 
#include
using namespace std;int n,m,dis[101],dis_=0,root=0x7fffffff,path[10001],now=0;bool map[101][101],ok=false,if_[101];void euler(int now,int gra){ path[gra]=now; if(gra==m+1) { ok=true; return ; } for(int i=1;i<=n;i++) { if(map[now][i]) { map[now][i]=false; map[i][now]=false; euler(i,gra+1); if(ok) return; map[now][i]=true; map[i][now]=true; } }}void euler_back(int now,int gra){ path[gra]=now; if(gra==m+1) { if(now==root) ok=true; return ; } for(int i=1;i<=n;i++) { if(map[now][i]&&!if_[i]) { map[now][i]=false; map[i][now]=false; euler_back(i,gra+1); if(ok) return; map[i][now]=true; map[now][i]=true; } }}int main(){ scanf("%d%d",&n,&m); int from,to; for(int i=1;i<=m;i++) { scanf("%d%d",&from,&to); map[from][to]=true; map[to][from]=true; dis[from]++,dis[to]++; } for(int i=1;i<=n;i++) { if(dis[i]%2) { root=min(i,root); dis_++; } } if(dis_==2) { if_[root]=true; euler(root,1); if(ok) { cout<<"true 1"<

 

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6286710.html

你可能感兴趣的文章
泰一指尚大数据应用成为第一批省级重点企业研究院
查看>>
预测未来 盘点大数据分析领域五大趋势
查看>>
教你编写Node.js中间件,实现服务端缓存
查看>>
又到中元节 应用宝教你如何打败各种鬼
查看>>
资源大集中 浪潮I9000刀片为国家税务总局打造全能型平台
查看>>
PC如何接管手机的双因子身份验证 靠的是英特尔的CPU
查看>>
分析:“AI on Hadoop”有意义吗?
查看>>
起底英特尔大数据
查看>>
《中国人工智能学会通讯》——11.65 双重代价敏感的属性分类模型
查看>>
阿里云人工智能ET夺肺结节诊断世界冠军
查看>>
研究人员发现利用Excel宏可发起跳板攻击
查看>>
绿盟科技发布OpenSSL高危漏洞技术分析与防护方案 G20成员国美国、中国、德国受影响较大...
查看>>
《VMware Virtual SAN权威指南》一2.2.4 容量层设备
查看>>
物联网发展年报显示 2016年智能家居市场快速增长
查看>>
如何在React中做到jQuery-free
查看>>
4G+宽带高歌猛进:移动双线虐杀联通
查看>>
带你了解超大规模数据中心究竟有何不同?
查看>>
用Python实现每秒处理120万次HTTP请求
查看>>
Android单元测试 - 几个重要问题
查看>>
DNS服务器不能响应的四大解决办法
查看>>