DFS/BFS
happen_zhang
想要过什么样的生活你自己决定
展开
-
hdu 2616 Kill the monster
hdu 2616 Kill the monster 普通的深搜题目 #include #include #define INF 0xffffffint 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 · 590 阅读 · 0 评论 -
hdu 1429 胜利大逃亡(续)
hdu 1429 胜利大逃亡(续) 这是一道广搜题. 刚开始看有点思路, 但是实现起来需要定义一些相关的结构体,比较麻烦.尤其是怎么处理拿到钥匙和开门...... 下面这种方法能为下次做类似的题提供更多的想法. 后来看到了某大神的一种更好的办法来处理钥匙和开门的问题, 那就是位运算来模拟拿钥匙和开门. 看了一篇思路就很清晰了.原创 2013-08-26 23:33:15 · 1500 阅读 · 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 · 523 阅读 · 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 · 601 阅读 · 0 评论 -
hdu 1548 A strange lift
hdu 1548 A strange lift 广搜, 最短路径也可以做。#include #include using namespace std;#define MAX 205struct node { int floor, k; int step;};int n, a, b;node floors[MAX];bool原创 2013-09-07 19:17:49 · 655 阅读 · 0 评论 -
hdu 2717 Catch That Cow
hdu 2717 Catch That Cow 广搜.#include #include using namespace std;#define MAX 100005struct node { int pos; int step;};int n, k;bool visited[MAX];int bfs(int s) {原创 2013-09-08 12:47:58 · 691 阅读 · 0 评论 -
hdu 2952 Counting Sheep
hdu 2952 Counting Sheep 简单深搜.#include #include #define MAX 105int 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 · 710 阅读 · 0 评论 -
hdu 1035 Robot Motion
hdu 1035 Robot Motion 深搜。#include #include #define MAX_N 11char 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 · 791 阅读 · 0 评论