
DFS
文章平均质量分 80
不如烂笔头
这个作者很懒,什么都没留下…
展开
-
POJ 1979 --Red and Black
题目链接:这是题目题意为:有一个矩形房间,有红块和黑块,要求从位置'@'出发,方向为上下左右四方向,要求最多能够走多少黑块。'.' - 黑块'#' - 红块'@' - 一个人在黑块的位置一个很简单的搜索,只要从出发位置开始,搜每一个方向,每搜到一个黑块标记。#include #include #include #include #include usi原创 2016-08-05 17:13:18 · 372 阅读 · 0 评论 -
POJ 2386--Lake Counting
题目:这是题目题意: Farmer John有一块地,求地里有多少个池塘,水是八方向连通,一个连通块为一个池塘。水('W') 干陆地 ('.')思路:从每一个为搜索的水的点八方向搜索,只要能够搜索必有一个池塘,搜索后标记。#include #include #include #include #include using namespace std;const原创 2016-08-05 17:21:34 · 561 阅读 · 0 评论 -
HDU 2821--Pusher
题目:这是题目题意为:给一个矩阵,里面有一些方块和一个Pushboy,a,b,c...分别代表方块的数目为1,2,3...以此类推。目标就是把矩阵里面的方块都推完,有几个规则如下:1. Pushboy和方块之间必须有一个空,也就是不能紧挨着。2. 每次推一个木块,木块的数目会减1,并且剩余的木块会和当前方向的前一个方格的木块数合并,当然如果前一个方格是边界外,方块就全部推出。最后要原创 2016-08-08 19:42:37 · 432 阅读 · 0 评论 -
POJ 2387--Til the Cows Come Home
#include #include #include #include #include using namespace std;const int MAX = 1005;int _map[MAX][MAX];int d[MAX];int t, n;int length = 100005;void dfs(int start, int sum) { for (i原创 2016-08-05 19:34:48 · 281 阅读 · 0 评论 -
HDU 1010--Tempter of the Bone
题目:这是题目题意:一只狗狗在一个迷宫里面要从门出去,但是门只在第T时间开一次,狗狗一定要在这个时间点出去,并且狗狗走过的路会消失,问是否狗狗能从门走出迷宫?思路:这个题爆搜会T,要用奇偶剪枝,即T和狗狗到门的曼哈顿距离的奇偶一定要一样。#include #include #include #include #include using namespace std;con原创 2016-08-08 20:00:49 · 263 阅读 · 0 评论 -
POJ 1011--Sticks
题目:这是题目题意:给你一些切断了的木棍,求原木棍的长度,长度尽可能小,数目不限。思路:爆搜,但是会T,要有一些处理。1. 木棍从大到小排序,因为你总是要把长的和短的先拼凑的,相同的木棍如果一根不行,那后面相同的也肯定不行。2. 要拼凑当前的木块肯定是从它后面的木棍开始找,因为如果这个木棍没有被拼凑那么它肯定是因为前面的用不到它,所以只要从它后面的木棍开始找3. 如果一个木棍和原创 2016-08-08 20:17:03 · 357 阅读 · 0 评论 -
POJ 3083--Children of the Candy Corn
题目:这是题目题意:一个迷宫,从S点走到E点,求一直靠墙向左走和靠墙向右走以及随便走的最短路, 保证数据的合法性,一定会有路。定义的方向:int x[4] = {0, -1, 0, 1};//左 上 右 下int y[4] = {-1, 0, 1, 0};思路:要求靠墙向左走和靠墙向右走,用DFS,求随便走最短路用BFS。该题的比较难的地方是处理方向。原创 2016-08-11 15:02:46 · 409 阅读 · 0 评论