
BFS
文章平均质量分 67
AC_0_summer
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
!POJ 2251 & ZOJ 1940--BFS(第一道BFS)
POJ 2251 & ZOJ 1940 BFS原创 2015-03-28 22:54:09 · 1071 阅读 · 0 评论 -
Light OJ 1238--BFS(第一道自己做的)
Light OJ 1238 Power Puff Girls BFS原创 2015-03-29 11:43:04 · 704 阅读 · 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 · 791 阅读 · 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 · 643 阅读 · 0 评论 -
POJ 1979--DFS or BFS(水)
题意:。表示能走,#表示不能走,@为起点,求从起点出发能走的点的数目 分析:简单的BFS或DFS BFS代码: #include #include #include using 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 · 677 阅读 · 0 评论 -
!Light oj 1066--BFS--(队列溢出)
题意:走过所有的字母,但必须按照字母的顺序走,求最小的步数 分析:BFS,但是 问题: 1.最开始的各种奇奇怪怪的问题就不写了 2.判断退出的条件最好先写,不然有时会永远也出不去,造成结果为Impossible 3.这题一个点可以走多次,所以必须用一个状态来防止无用的步数放进队列造成空间溢出。 4.新学到的:用坐标和走到该坐标时走过的最后一个字母整体作为一个状态,dis[x][y][c原创 2015-04-05 12:41:27 · 1034 阅读 · 0 评论 -
Light OJ 1141--BFS--(隐蔽的BFS)
题意:求数字A变换到B 的最小步数。变换方法是每次加A的素因数 分析:BFS 代码:原创 2015-04-05 21:31:16 · 686 阅读 · 0 评论 -
ZOJ 1940 Dungeon Master-BFS-(最短路径)
题意:三维空间,求起点到终点的最短路径,如果没有输出”Trapped!“ 分析: 最短路径问题用bfs. 注意与分块问题的区别:计数器 t 放在node结构体里面;循环里如果a[x][y][z]="end" 返回 t+1;循环外返回 -1 来确定无解的情况 代码: #include #include #include #include using namespace std; int l原创 2015-07-15 12:15:06 · 1050 阅读 · 0 评论 -
!Gym 100625J 狱警放两犯人的最小开门数-bfs-(优先队列+bfs,求各自到交点的距离)
题意:二维矩阵,狱警从外面到里面去放两个犯人,问中途需要开的门的最小的次数。 分析: 这题从外面进去,那么只要是矩阵边缘可走的点(除了墙壁的点)都可作为起点,还有两个终点,所以直接枚举起点再搜索是不可行的。这题的做法是用三次bfs,分别求得从外面到每一个可走点的最小距离(开门次数)、两个犯人到每个可走点的最小距离,然后遍历一遍矩阵,把三个距离加起来,更新答案即可。求矩阵外面到矩阵里的最小距离是原创 2015-08-14 16:06:00 · 1793 阅读 · 0 评论