BFS
文章平均质量分 67
AC_0_summer
这个作者很懒,什么都没留下…
展开
-
!POJ 2251 & ZOJ 1940--BFS(第一道BFS)
POJ 2251 & ZOJ 1940BFS原创 2015-03-28 22:54:09 · 1035 阅读 · 0 评论 -
Light OJ 1238--BFS(第一道自己做的)
Light OJ 1238 Power Puff GirlsBFS原创 2015-03-29 11:43:04 · 657 阅读 · 0 评论 -
ZOJ 1438 Asteroids!--BFS(注意细节)
题意:三位空间,有n层,求最短路分析:很明显的广搜,又WA了很多次:1.以为只有3层2.没有讨论特殊情况:起点和终点一样3.判断结束条件放在了!X里面4.输入的坐标按Z,X,Y的顺序后来改成X,Y,Z仔细读题后发现其实是Y,X,Z改了就A了综上所述:还是没有认真读题理解题意希望以后能不犯这些错误#include#include#include#include原创 2015-04-02 13:21:05 · 762 阅读 · 0 评论 -
!POJ 3278 Catch That Cow--BFS(隐蔽的BFS)
题意:两个整数,N 和 M,N有三种变换:-1 ,+1 , *2 ,求N通过这三种变换变为M的最小的次数分析:这题用BFS。这题的问题主要是:1.难以想到用BFS来做 知道用BFS之后就很快的写出来代码,但是还是出错了:2.TLE。原因是没有标记出现过的数,广搜一定要记得标记3.RE。 N的范围在0到1000000,要把N的范围限制在这里面4.WA。有一种特殊情况原创 2015-04-01 00:11:57 · 607 阅读 · 0 评论 -
POJ 1979--DFS or BFS(水)
题意:。表示能走,#表示不能走,@为起点,求从起点出发能走的点的数目分析:简单的BFS或DFSBFS代码:#include#include#includeusing namespace std;int n,m;char a[100][100];int d[4][2]={{0,-1},{0,1},{1,0},{-1,0}};int cnt;int sx,sy;struc原创 2015-03-31 22:33:16 · 642 阅读 · 0 评论 -
!Light oj 1066--BFS--(队列溢出)
题意:走过所有的字母,但必须按照字母的顺序走,求最小的步数分析:BFS,但是问题:1.最开始的各种奇奇怪怪的问题就不写了2.判断退出的条件最好先写,不然有时会永远也出不去,造成结果为Impossible3.这题一个点可以走多次,所以必须用一个状态来防止无用的步数放进队列造成空间溢出。4.新学到的:用坐标和走到该坐标时走过的最后一个字母整体作为一个状态,dis[x][y][c原创 2015-04-05 12:41:27 · 993 阅读 · 0 评论 -
Light OJ 1141--BFS--(隐蔽的BFS)
题意:求数字A变换到B 的最小步数。变换方法是每次加A的素因数分析:BFS代码:原创 2015-04-05 21:31:16 · 648 阅读 · 0 评论 -
ZOJ 1940 Dungeon Master-BFS-(最短路径)
题意:三维空间,求起点到终点的最短路径,如果没有输出”Trapped!“分析:最短路径问题用bfs.注意与分块问题的区别:计数器 t 放在node结构体里面;循环里如果a[x][y][z]="end" 返回 t+1;循环外返回 -1 来确定无解的情况代码:#include#include#include#includeusing namespace std;int l原创 2015-07-15 12:15:06 · 1018 阅读 · 0 评论 -
!Gym 100625J 狱警放两犯人的最小开门数-bfs-(优先队列+bfs,求各自到交点的距离)
题意:二维矩阵,狱警从外面到里面去放两个犯人,问中途需要开的门的最小的次数。分析:这题从外面进去,那么只要是矩阵边缘可走的点(除了墙壁的点)都可作为起点,还有两个终点,所以直接枚举起点再搜索是不可行的。这题的做法是用三次bfs,分别求得从外面到每一个可走点的最小距离(开门次数)、两个犯人到每个可走点的最小距离,然后遍历一遍矩阵,把三个距离加起来,更新答案即可。求矩阵外面到矩阵里的最小距离是原创 2015-08-14 16:06:00 · 1749 阅读 · 0 评论