![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS/BFS
happen_zhang
想要过什么样的生活你自己决定
展开
-
hdu 2616 Kill the monster
hdu 2616 Kill the monster 普通的深搜题目 #include #include #define INF 0xffffff int cSpell[15], dSpell[15]; int visited[15]; int n, m; int min; void dfs(int hp, int cnt) { int i;原创 2013-08-27 23:15:19 · 598 阅读 · 0 评论 -
hdu 1429 胜利大逃亡(续)
hdu 1429 胜利大逃亡(续) 这是一道广搜题. 刚开始看有点思路, 但是实现起来需要定义一些相关的结构体,比较麻烦.尤其是怎么处理拿到钥匙和开门...... 下面这种方法能为下次做类似的题提供更多的想法. 后来看到了某大神的一种更好的办法来处理钥匙和开门的问题, 那就是位运算来模拟拿钥匙和开门. 看了一篇思路就很清晰了.原创 2013-08-26 23:33:15 · 1511 阅读 · 0 评论 -
hdu 1026 Ignatius and the Princess I
hdu 1026 Ignatius and the Princess I 题目要求的是从(0, 0)到(n-1, m-1)的最小秒数啦, 首先想到的就是广搜啦, 这道题要求输出搜索过的路径哦, 那么就需要一个额外的数组来记录了. 用turn[][]数组来记录每次转过的方向, 一次广搜结束后, 然后再从终点顺着走回来, 就可完成路径的记录啦. #incl原创 2013-08-27 23:33:05 · 540 阅读 · 0 评论 -
hdu 1372 Knight Moves
hdu 1372 Knight Moves 广搜, 那个Knight是走"日"字的, 就像中古想起里面的马走法一样哦, 那么它在不出范围的情况下就有8个方向哦. #include #include #include using namespace std; struct cell { int x, y; int step; };原创 2013-08-27 23:40:14 · 617 阅读 · 0 评论 -
hdu 1548 A strange lift
hdu 1548 A strange lift 广搜, 最短路径也可以做。 #include #include using namespace std; #define MAX 205 struct node { int floor, k; int step; }; int n, a, b; node floors[MAX]; bool原创 2013-09-07 19:17:49 · 671 阅读 · 0 评论 -
hdu 2717 Catch That Cow
hdu 2717 Catch That Cow 广搜. #include #include using namespace std; #define MAX 100005 struct node { int pos; int step; }; int n, k; bool visited[MAX]; int bfs(int s) {原创 2013-09-08 12:47:58 · 712 阅读 · 0 评论 -
hdu 2952 Counting Sheep
hdu 2952 Counting Sheep 简单深搜. #include #include #define MAX 105 int dir[4][2] = {-1, 0, 1, 0, 0, -1, 0, 1}; char map[MAX][MAX]; bool visited[MAX][MAX]; int T; int n, m; void dfs(int x,原创 2013-09-08 13:54:47 · 724 阅读 · 0 评论 -
hdu 1035 Robot Motion
hdu 1035 Robot Motion 深搜。 #include #include #define MAX_N 11 char map[MAX_N][MAX_N]; int visited[MAX_N][MAX_N]; int n, m; int sx, sy; int step, loopStep; bool dfs(int x, int原创 2013-09-15 17:14:05 · 811 阅读 · 0 评论