
DFS
黑猫爱白猫
这个作者很懒,什么都没留下…
展开
-
poj 1979
题目链接:http://poj.org/problem?id=1979题意:迷宫问题的简单化,暴力一遍,记录能经过的红色区域即可。ac代码#include#include#define M 25int dx[4] = { 1, 0, -1, 0 }, dy[4] = { 0, 1, 0, -1 };int count;int m, n;char maze原创 2017-04-20 23:51:10 · 401 阅读 · 0 评论 -
hdu 1045(dfs + check)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1045题目大意:给出一张n * n 矩阵图,该图上有枪,也有路,要在图上方上枪,但是一旦某一点放上枪之后,刚点所在的行和列都不能再放了,除非行或列上有墙隔着,对应的行或列才能放枪。分析:因为给出的图很小,所以可以暴搜,首先想到的就是dfs,但是每个点能否放抢都有条件,所以每一个点都要检查它是否合原创 2017-05-20 10:15:40 · 309 阅读 · 0 评论 -
hdu 1010 Tempter of the Bone(DFS + 奇偶剪枝 + 路径剪枝)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010题目大意:给出一个N*M的迷宫,‘X’代表墙,‘.’代表路,'S'代表起点,'D'代表终点,每走一步消耗一个单位时间,问能否恰好在T个单位时间,从起点走到终点。分析:如果只是简单的DFS肯定会超时,所以一定要加上剪枝,最重要的两个技巧就是奇偶剪枝和路径剪枝。 奇偶剪原创 2017-09-23 13:52:07 · 208 阅读 · 0 评论 -
hdu 1016 Prime Ring Problem(素数环)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016题目大意:素数环。分析:DFS + check,注意一下第一个数和最后一个数的和是否为素数就好了ac代码#include#include#define M 25int ring[M];int flag[M];int n;bool judge(int x){原创 2017-09-24 11:23:10 · 193 阅读 · 0 评论 -
hdu 1501 Zipper
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1501题目大意:给出三个字符串str1,str2,str3,判断str1,str2是否为str3的子序列。分析:这题可用动态规划,也可用dfs,dfs版本很好理解,考虑剪枝的条件就可以了,其他细节比dp版本简单很多。ac代码#include#incl原创 2017-10-14 10:31:31 · 218 阅读 · 0 评论 -
UVA 572 - Oil Deposits
题目链接:题目大意:给出了一块油田矩阵,‘ * ’代表空地,‘ @ ’代表油块,求该矩阵中油块的种类数量,连通的油块算一类,连通的意思是相邻或者对角线。分析:dfs, 水过。ac代码#include#define Max 105char maze[Max][Max];int n, m;int count;void dfs(int x, int原创 2017-10-14 12:08:07 · 178 阅读 · 0 评论 -
hdu 5547 Sudoku
题意:4*4的矩阵,完成数独题解:小数据量,dfs+回溯,judge的时候自己画下图看下坐标就好了代码#include#includechar a[100][100];bool judge(int x, int y){ for(int i = 0; i < 4; i++) { if(a[x][i] == a[x][y] && i != y)原创 2018-02-01 00:34:37 · 216 阅读 · 0 评论 -
CodeForces - 198B Jumping on Walls
题意:一张n*2的图,‘X'代表不可走,’-‘代表可以走。一个忍者(0,1)开始起跳,有三种跳的方法,向对面往上跳k步,向上或者向下跳一步,每跳一次,洪水就会往上涨一格,问这个忍者能否跳出这张图。题解:bfs和dfs均可过,dfs需要优化暴搜顺寻代码bfs:#include<cstdio>#include<queue>#define Max 100010using ...原创 2018-02-07 22:55:46 · 374 阅读 · 0 评论