hud2181----哈密顿绕行世界问题(搜索)
2012-09-16 11:10
337 查看
直接搜索就行了
View Code
View Code
//Accepted 2181 0MS 216K 802 B G++ #include <stdio.h> #include <string.h> int map[21][21]; int useif[21]; int ans[21]; int cases; int m; void solve(int n,int d) { if(d > 20) { if(map[m][ans[20]] == 0) return ; ++cases; printf("%d: ",cases); for(int i = 1; i <= 20; ++i) printf("%d ",ans[i]); printf("%d\n",m); return ; } for(int i = 1; i <= 20; ++i) { if(map [i] == 1 && useif[i] == 0) { ans[d] = i; useif[i] = 1; solve(i,d+1); useif[i] = 0; } } } int main(void) { int x,y,z; for(int i = 1; i <= 20 ; ++i) { scanf("%d%d%d",&x,&y,&z); map[i][x] = 1; map[i][y] = 1; map[i][z] = 1; } while(scanf("%d",&m)==1 && m) { cases = 0; memset(useif,0,sizeof(useif)); ans[1] = m; useif[m] = 1; solve(m,2); } return 0; }
相关文章推荐
- hdu 2181 哈密顿绕行世界问题 - 搜索
- [kuangbin带你飞]专题二 搜索进阶 C - 哈密顿绕行世界问题(HDU 2181)
- hdu 2181 哈密顿绕行世界问题 - 搜索
- hdu 2181 哈密顿绕行世界问题,深度优先搜索求解
- HDU 2181 哈密顿绕行世界问题(搜索)
- HDU 2181 哈密顿绕行世界问题( 搜索水题bfs+dfs)
- 【搜索】哈密顿绕行世界问题
- HDU 2181 哈密顿绕行世界问题
- DFS HDOJ 2181 哈密顿绕行世界问题
- hdu 2181 哈密顿绕行世界问题(dfs)
- hdu 2181 哈密顿绕行世界问题
- hdu 2181 哈密顿绕行世界问题
- HDU 2181--哈密顿绕行世界问题【DFS】
- 哈密顿绕行世界问题 2181
- hdu 2181 哈密顿绕行世界问题
- hdu 2181 哈密顿绕行世界问题 (水dfs =。=)
- HDU 2181 哈密顿绕行世界问题(经典DFS+回溯)
- HDU 2181 哈密顿绕行世界问题
- HDOJ 2181 哈密顿绕行世界问题 (dfs)
- hdu 2181 哈密顿绕行世界问题 (深搜)