hdu 2181 哈密顿绕世界(dfs+回溯)
来源:互联网 发布:银行服务排名 知乎 编辑:程序博客网 时间:2024/05/18 13:23
点击打开链接
#include <iostream>#include <algorithm>#include <cstring> using namespace std;const int N=30;int g[N][5],m,cnt=0;int vis[N],path[N];void print(){printf("%d: ",cnt);for(int i=1;i<=21;i++){printf("%d",path[i]);if(i==21)printf("\n");elseprintf(" ");}}void dfs(int cur,int num){path[num]=cur;if(num==21){cnt++;print(); return;}vis[cur]=1;for(int k=1;k<=3;k++){if((num!=20&&!vis[g[cur][k]])||(g[cur][k]==m&&num==20)) {dfs(g[cur][k],num+1);if(g[cur][k]!=m)//起点vis[m]不清0vis[g[cur][k]]=0;//该点为cur的情况讨论完毕,回溯}}}int main(){for(int i=1;i<=20;i++){for(int j=1;j<=3;j++){scanf("%d",&g[i][j]);//g[i][j]和i相连的城市 }}while(cin>>m&&m){cnt=0;memset(vis,0,sizeof(vis)); vis[m]=1; dfs(m,1);//从m出发&&回到m }return 0;}
0 0
- hdu 2181 哈密顿绕世界(dfs+回溯)
- HDU 2181 哈密顿绕行世界问题(经典DFS+回溯)
- 【DFS】hdu 2181 哈密顿绕行世界问题
- 【DFS】hdu 2181 哈密顿绕行世界问题
- HDU 2181 哈密顿绕行世界问题 (dfs)
- hdu(2181):哈密顿绕行世界问题,dfs遍历
- HDU 2181 哈密顿绕行世界问题(DFS)
- HDU 2181--哈密顿绕行世界问题【DFS】
- HDU 2181 哈密顿绕行世界问题 (DFS)
- HDU - 2181 哈密顿绕行世界问题(简单dfs)
- HDU 2181 哈密顿绕行世界问题(水DFS)
- HDU 2181-哈密顿绕行世界问题(裸dfs)
- hdu 2181 哈密顿绕行世界问题(dfs)
- hdu 2181 哈密顿绕行世界问题 ——dfs
- HDU 2181哈密顿绕行世界问题(还是DFS)
- hdu 2181 哈密顿绕行世界问题 (dfs)
- hdu 2181 哈密顿绕行世界问题(dfs)
- HDU 2181哈密顿绕行世界问题 (简单DFS)
- caffe学习笔记(1)【在docker环境下安装caffe】
- CentOS安装mysql数据库
- Activiti学习笔记1
- 字符串拷贝当中的问题
- 【Unity5.x Shaders】使用Shader制作河流效果
- hdu 2181 哈密顿绕世界(dfs+回溯)
- protobuf,json,xml,binary,Thrift之间的对比
- python编码
- OPENGL究竟怎么配置
- 《锋利的jQuery》第六章、 jQuery与Ajax应用
- Oracle 12c 在windows10 安装问题
- ionic之样式复选框
- Python——set集合
- MFC编程入门(常用控件:编辑框Edit Control)