bfs
sunnyorrainy
这个作者很懒,什么都没留下…
展开
-
bfs记录路径codeforces3a&poj3984
bfs记录路径的题,以前好像做过类似的,但是忘了怎么写的了。两道题的区别是一个是记录方向一个是每次到达的位置codeforces3a题意:给一个起点和终点,问最少要几步到达,并且要输出每一步的方向。普通的bfs,注意x轴和y轴的选取,这个和方向有关,其实完全可以看作i轴和j轴,i轴是代表数组第一维,也代表竖着的y轴,j轴相反。这样的话可以想得更清楚,不会搞错。每次要记录方向和上一次...原创 2019-11-07 21:01:13 · 152 阅读 · 0 评论 -
bfs模板 三维迷宫hdu2102
有两个地图,#代表传送门,可以从一个地图到另一个地图的对应位置。如果对应位置是*就会死。*代表墙,不能走。.代表路,从(0,0,0)开始,找到P,问能否在时间内找到bfs的模式去搜索,但是遇到#传送,这里需要预处理地图#include<iostream>#include<cstring>#include<algorithm>#include&...原创 2019-08-08 13:09:39 · 183 阅读 · 0 评论 -
bfs模板 素数小姐姐poj3126
这题本来是挺简单的,我第一次做没有用素数,后几次没有用四位的素数。本来第一次自己写的时候就是对的,只需要判断一下是不是四位的素数就行,但是居然写了这么久。理解题意真的很重要。。。改变一个四位数的其中一个数字,有很多办法,可以把它加上或者减去i*1000,i*100,i*10,i*1,i为0到9的整数R=当前数字%mod。mod分别为10000,1000,100,10。判断R加上对应数值是否...原创 2019-08-09 08:49:42 · 112 阅读 · 0 评论 -
bfs模板 hdu2612 两个bfs
在一个由字符组成的地图中,‘Y’表示jxf所在的位置‘M’表示hj所在的位置‘.’表示可以通过的地方‘#’表示教学楼即不能走的地方‘@’表示稀有ztw刷新的地方(地图中存在多只稀有ztw)Y和M要走到同一个@,求两个人的最小步数和。需要用一个二维数组记录两个人到达不同的@的时间,没有到达的设为无穷大,然后遍历更新最小和bfs两次就行了,关键是要想办法计算两个人的最小步数和,...原创 2019-08-07 19:44:28 · 128 阅读 · 0 评论 -
bfs模板(优先队列)hdu1242&poj4115
hdu1242题意:给一个字符地图,a代表要救的人,r代表起点,x代表士兵,.代表道路,走一次花一单位的时间,杀死一个士兵花一单位的时间。求出最少的时间,不能救到就输出Poor ANGEL has to stay in the prison all his life.经典bfs,用优先队列,按照时间从小到大排序,小的优先级高不知道为啥,用flag标记的就ac,直接在bfs结束时输出Po...原创 2019-08-05 09:23:50 · 126 阅读 · 0 评论