
BFS
文章平均质量分 77
kaiweisun
这个作者很懒,什么都没留下…
展开
-
关于搜索的问题。
与树的遍历相同,图遍历操作的定义式访问图中每一个结点且每个结点只被访问一次。图的遍历方法主要有两种:一种是深度优先的(DFS),另一种是广度优先的(BFS)。 图的遍历算法设计要考虑到三个问题:(1)图的特点是没有首尾之分,所以算法的参数要指定访问的第一个结点;(2)对图的遍历路径有可能是一个回路,从而造成死循环,所以算法设计要考虑到遍历路径可能出现的死循环问题;(3)一个结点可能...原创 2011-10-31 14:52:47 · 120 阅读 · 0 评论 -
poj 3126
题意: 给定两个素数(四位数),求第一个数经过几次转换能够得到第二个素数。转换方式:是变换数中某一位的数字(第一位不能为零,其他的变换数字是0~~9),变换之后的数也为素数。 思路:bfs,搜索求最短路径,很容易就想到广度优先搜索;因为广度优先搜索,第一次搜到得到的步数就是最少的步数。为了提高判断的时候的速率;打了一个素数表。 不说了直接看代码: #include<iostrea...原创 2011-10-31 21:02:19 · 92 阅读 · 0 评论 -
poj 3414BFS
题意:给出两个容积分别为 a 和 b 的pot,按照以下三种操作方式,求出能否在一定步数后,使者两个pot的其中一个的水量为c。 1.FILL(i):将ipot倒满水。 2.DROP(i):将ipot倒空水。 3.POUR(i,j): 将ipot的水倒到jpot上,直至要么ipot为空,要么jpot为满。 思路:bfs求最短路径,与1426类似...原创 2011-11-03 10:30:45 · 85 阅读 · 0 评论 -
poj 1426
大致题意: 给出一个整数n,(1 <= n <= 200)。求出任意一个它的倍数m,要求m必须只由十进制的'0'或'1'组成。 解题思路: 首先暴力枚举肯定是不可能的 1000ms 想不超时都难,而且枚举还要解决大数问题。。 要不是人家把这题放到搜索,怎么也想不到用BFS。。。 解题方法: BFS+同余模定理 不说废话。 首先说说朴素的不剪枝搜索方...原创 2012-04-26 20:11:14 · 130 阅读 · 0 评论 -
poj 3083dfs+bfs问题
题意:给你一个h * w的迷宫,其中有一句话需要注意一下“Exactly one 'S' and one 'E' will be present in the maze, and they will always be located along one of the maze edges and never in a corner.”即始点‘S’和终点‘E’一定都与迷宫的边界相邻,这对做题很...原创 2011-11-21 21:29:26 · 111 阅读 · 0 评论