【DFS】HDU
来源:互联网 发布:爱情观知乎 编辑:程序博客网 时间:2024/05/16 14:41
Problem Description
20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市
代码: 很简单的DFS,第一次敲的时候,样例怎么都不对不知道为何,全删了在敲一遍就A了
#include<cstdio>#include<cstring>using namespace std;int map[30][30], vis[30], Pre[30], cas;//地图,标记城市是否走过,记录路径int n;void dfs(int u, int step){ int i; Pre[step] = u;//将走到的城市存入数组 if(step == 19 && map[u][n])//走完了二十个城市,判断最后一个城市能否回到出发城市,输出 { printf("%d: ", cas++); for(i = 0; i <= 19; i++) printf(" %d", Pre[i]); printf(" %d\n", Pre[0]); return ; } for(i = 1; i <= 20; i++) { if(map[u][i] && !vis[i])//判断是否标记过,是否走得通 { vis[i] = 1;//标记 dfs(i, step + 1);//下标+1 vis[i] = 0;//退回来的时候,别忘了取消标记。 } }}int main(){ int i, u, v, w; memset(map, 0, sizeof(map)); for(i = 1; i <= 20; i++) { scanf("%d %d %d", &u, &v, &w); map[i][u] = 1, map[i][v] = 1, map[i][w] = 1; } while(~scanf("%d", &n) && n) { cas = 1; memset(vis, 0, sizeof(vis)); memset(Pre, 0, sizeof(Pre)); vis[n] = 1; dfs(n, 0); } return 0;}
阅读全文
0 0
- HDU DFS
- 【DFS】HDU
- HDU DFS
- HDU-2610 && HDU-2610 (dfs)
- HDU 1864 (DFS)
- hdu 1258 DFS
- hdu 1045 DFS+回溯
- hdu--1342 lotto (dfs)
- hdu 1010(DFS)
- hdu 1501(dfs)
- hdu 1010DFS
- HDU 3720 DFS
- hdu 2212 DFS
- hdu 1181 dfs
- DFS 剪枝 hdu 1010
- dfs hdu 1242
- 【dfs博弈】HDU 4155
- 【dfs】HDU 4155
- C#桌面程序监听显示器更改事件
- Linux静态IP配置
- linux(五)关闭和重启命令
- Mac开机后键盘和触控板失灵
- indeed2017-4-22笔试题C-Network Configuration
- 【DFS】HDU
- uva 12493 欧拉函数 板子
- 2017 计蒜之道 初赛 第三场
- Linux配置jdk
- UESTC 1642 老当益壮, 宁移白首之心? 欧拉回路、Fleury算法
- 【Window】win10开机锁屏界面背景更换
- 场景在Game 中可见,但在Scene中看不见
- 一道有关setTimeout的面试题
- Python三种数据结构