
bfs
sunnyorrainy
这个作者很懒,什么都没留下…
展开
-
bfs记录路径codeforces3a&poj3984
bfs记录路径的题,以前好像做过类似的,但是忘了怎么写的了。两道题的区别是一个是记录方向一个是每次到达的位置 codeforces3a 题意:给一个起点和终点,问最少要几步到达,并且要输出每一步的方向。 普通的bfs,注意x轴和y轴的选取,这个和方向有关,其实完全可以看作i轴和j轴,i轴是代表数组第一维,也代表竖着的y轴, j轴相反。这样的话可以想得更清楚,不会搞错。每次要记录方向和上一次...原创 2019-11-07 21:01:13 · 177 阅读 · 0 评论 -
bfs模板 三维迷宫hdu2102
有两个地图,#代表传送门,可以从一个地图到另一个地图的对应位置。如果对应位置是*就会死。 *代表墙,不能走。.代表路,从(0,0,0)开始,找到P,问能否在时间内找到 bfs的模式去搜索,但是遇到#传送,这里需要预处理地图 #include<iostream> #include<cstring> #include<algorithm> #include&...原创 2019-08-08 13:09:39 · 203 阅读 · 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 · 131 阅读 · 0 评论 -
bfs模板 hdu2612 两个bfs
在一个由字符组成的地图中, ‘Y’表示jxf所在的位置 ‘M’表示hj所在的位置 ‘.’表示可以通过的地方 ‘#’表示教学楼即不能走的地方 ‘@’表示稀有ztw刷新的地方(地图中存在多只稀有ztw) Y和M要走到同一个@,求两个人的最小步数和。 需要用一个二维数组记录两个人到达不同的@的时间,没有到达的设为无穷大,然后遍历更新最小和 bfs两次就行了,关键是要想办法计算两个人的最小步数和,...原创 2019-08-07 19:44:28 · 147 阅读 · 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 · 137 阅读 · 0 评论