BFS
Anoyer
这个作者很懒,什么都没留下…
展开
-
HDU - 2612 - Find a way(BFS+打表)
题目链接题意:求2个点到KFC的距离之和,使其最小题解:可用2次BFS,分别求出2个点到各个KFC的最短距离,然后找出和最小的即可AC代码:#include<stdio.h>#include<string.h>#include<iostream>#include<queue>#define inf 0xffffffusi...原创 2019-02-28 20:30:32 · 211 阅读 · 0 评论 -
POJ - 1426 - Find The Multiple(双入口DFS)
题目链接题意:给一个数n,让你找出一个只有1,0,组成的十进制数,要求是找到的数可以被n整除题解:用DFS是搜索 当前位数字 (除最高位固定为1),因为每一位都只有0或1两种选择AC代码:#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm&...原创 2019-02-28 20:32:42 · 236 阅读 · 0 评论 -
POJ - 2251 - Dungeon Master(分层BFS)
题目链接题意:给一个三维图,可以前后左右上下6种走法,走一步1分钟,求最少时间(其实就是最短路)题解:最短路Bfs,和二维的基本一样,就是原来4个方向,现在6个方向,原来数组是二维,现在是三维,也相当于模板题了。AC代码:#include<stdio.h>#include<cstring>#include<queue>#include&...原创 2019-02-28 20:34:01 · 253 阅读 · 0 评论 -
POJ - 3126 - Prime Path(BFS枚举)
题目链接题意:给出两个四位数的素数a,b,求从a变到b最少要花几步?每一步只能将a中的一位改变,且改变后的数也要是素数。题解:BFS枚举个位,十位,百位,千位变换的数,用素数表判断变换后是否为一个素数AC代码:#include<stdio.h>#include<string.h>#include<queue>#include<al...原创 2019-02-28 20:34:46 · 265 阅读 · 0 评论 -
POJ - 3278 - Catch That Cow(裸BFS)
题目链接题意:给定两个整数n和k,通过 n+1或n-1 或n*2 这3种操作,使得n==k,输出最少的操作次数题解:简单的对每个节点进行三个方向(三种走法)的BFSAC代码:#include<stdio.h>#include<string.h>#include<queue>#include<algorithm>using ...原创 2019-02-28 20:35:25 · 372 阅读 · 0 评论 -
FZU - 2150 - Fire Game(双端BFS)
题目链接题意:给你块地,有空地,也有草堆,让你选两个草堆进行点火,燃烧的草堆会引燃上下左右的相邻草堆,每一次引燃花费1s时间,问你最少花多长时间把草堆都点着,如果做不到输出-1.题解:枚举图中所有草地,找到任意两块不一样的草地,然后bfs求出烧掉所有草的最短时间,可以将两个初始状态都push进队列,这样就可以模拟两堆草同时燃烧的情况,在bfs的过程中要判断是否烧完(即所有的草堆...原创 2019-02-28 20:37:21 · 222 阅读 · 0 评论 -
POJ - 3984 - 迷宫问题(路径记录)
题目链接题意:给你一个5*5的迷宫,0代表通路,1代表墙,找到从迷宫左上角到达右下角的最短路径,并输出路径。题解:先进行一遍BFS,得到vis数组,表示到该位置最少需要多少时间,然后从(4,4)位置倒着查路径,查到符合的就直接break,防止重复AC代码:#include<stdio.h>#include<string.h>#include<...原创 2019-02-28 20:38:00 · 331 阅读 · 0 评论 -
UVA - 11624 - Fire!(BFS逃生问题)
题目链接题意:在迷宫内,J表示人,F表示火,火可能不止一处,但是人只有一个,火会向上下左右蔓延,蔓延速度和人移动速度一至(每次一格,但是可以同时向四个方向)问是否可以成功逃出迷宫,不能输出IMPOSSIBLE,能的画话输出最短路径。题解:每步先让火走–然后人走其他的路–就可以保证人不会被火烧了先将火入队列最后将人入队列,走的时候判断下是人还是火,如果是人的话看看是否无路可走注...原创 2019-03-01 15:31:56 · 227 阅读 · 0 评论