图的搜索
文章平均质量分 76
愤怒的北方酱
这个作者很懒,什么都没留下…
展开
-
poj1154解题报告(dfs)
题意:给出一个roe*col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。 解题思路:dfs,上下左右四个方向移动即可,用一个vis[26]的数组作为标记数组,因为你已经走过的字母,必然不能在访问了,所以不用再开一个二维的标记数组了。 注意点:使用scanf读入数据的时候,应该getchar()多次,他是字符版的迷宫。。原创 2015-07-05 10:01:57 · 1777 阅读 · 0 评论 -
hdu1224解题报告(dfs)
这道题使用DFS这DP都能做出来,用DP效率更快的,我看到这个条件反射就用DFS做了。。。。。 大概是给你一个DAG图(城市地图),结点编号(城市编号),权值(兴趣点),然后找一条通路,使他的总权值最大!!!dfs搜索即可~~ ac代码如下: #include #include #include #include #include using namespace std; co原创 2015-06-09 16:08:22 · 419 阅读 · 0 评论 -
hdu1198解题报告(dfs)
dfs求子连通图的变形,没什么难度,除了打错了个变量WA了很久,然后搞错了i++和++i。。。。。 细节决定成败啊~~~~~~~~ #include #include #include #include #include using namespace std; const int maxn=550; char G[maxn][maxn];//储存图~~ int v原创 2015-05-25 20:56:50 · 507 阅读 · 0 评论 -
hdu5335&15年杭电多校集训(4)i题(bfs+策略)
题目大意:有一个由0和1组成的矩阵(m*n)表示迷宫,入口是左上角,出口是右下角,记录你走过的点的数字(0或者1),最后将会得到一个二进制串,要求二进制串最小。 解题思路:首先m+n-1步为最短路径,想想为什么,多走的话相当度二进制串要多一位,这一点可以用曼哈顿距离来理解,其次整个程序分成两段,一开始如果碰到0的话,bfs四个方向拓展,遇到1结束,统计x+y的最大值确定能走的最远距离(曼哈顿距离原创 2015-08-03 20:54:48 · 602 阅读 · 0 评论 -
poj2286The Rotation Game(IDA*)
这道题是一道状态空间搜索的题目,思路是用IDA*,哎,主要是没看清题目要求,老是WA 1.无论需不需要移动,都要打印中间的那个东西,害我一直WA 2.如果函数不是int ,一定要写返回值,其返回值不是0,是个随机值,这一点一直害我WA #include #include #include using namespace std; const int maxn=1000; int a原创 2015-05-30 17:43:47 · 556 阅读 · 0 评论 -
hdu5336&15年多校集训(4)j题(bfs+模拟)
题目大意:r*c的方格矩阵中,有n顆大水滴,给出位置和大小(表示为小水珠的数量)。当大水滴的大小超过4时,便会爆裂,变成四颗小水珠,往四个方向运动。小水珠相遇时不会发生碰撞,小水珠和大水滴相遇时相融合。这一秒大水滴爆裂时,四颗小水珠会在同一个格子中,下一秒才会运动。 一开始在位置(A,B)爆裂一颗大水滴。求出T秒是每颗大水滴的状态。 解题思路:这道题不难,但因为题意曲折,而且有些细节问题导原创 2015-08-03 21:07:34 · 529 阅读 · 0 评论 -
hdu5301and15年多校集训1002题(builds)(dfs)
题目大意:给你矩形的长和宽,他被很多单位为1的小正方形组成,还有一个黑块给了它的坐标,代表窗户,把这个矩形分割,每个分割的块,挨着黑块,或者边沿才行 解题思路:一种是根据图形来拼接而成,一种是dfs(q神的代码) 注意:其实分割之后,只能是长条状的块(n*1),如果不是,则可以分割为长条状的块 方法一: #include #include #include #include using n原创 2015-07-27 12:03:06 · 359 阅读 · 0 评论