今天在北大上连做了三个关于广度优先搜索的题,对于分层次搜索又有了进
一步的理解。
2251:题目是给出一个地牢,并且它有若干层,然后它给出你地牢的通道,求从
地牢中的每个地方逃出来的最短时间。这个题目把bfs从二维扩展到了三
维,对于地牢中的每一个点,都有六个方向可以选择,对于每一步只须把
这六个方向中满足条件的依次入队列即可。
3278:这个题目把广搜用到了数轴上,题意是这样的,一个人去追一头逃走的牛
给出人的位置n和牛所在的位置m,牛是不动的,而人走一步可以有三种选
择他可以走到n-1,n+1或2*n的位置。求这个人能追到那头牛的最少步数。
源代码下载: http://download.csdn.net/source/709469
3126:这个题目是在一个数组中进行搜索,不过在搜索之前,我们要用一个数组
把所有的是素数的四位数都存储起来,再用广度优先搜索,来找到从给出
的第一个数变到第二个数的最小步数。
搜索确实是一个好东西啊,它是通过把一个大问题分解为若干个小的问题
,再从头到尾把最优的解先放到队列里去,再一步一步走到最后,记录它最终
所的步数。这样就可以把最优的结果求出来了。
一步的理解。
2251:题目是给出一个地牢,并且它有若干层,然后它给出你地牢的通道,求从
地牢中的每个地方逃出来的最短时间。这个题目把bfs从二维扩展到了三
维,对于地牢中的每一个点,都有六个方向可以选择,对于每一步只须把
这六个方向中满足条件的依次入队列即可。
3278:这个题目把广搜用到了数轴上,题意是这样的,一个人去追一头逃走的牛
给出人的位置n和牛所在的位置m,牛是不动的,而人走一步可以有三种选
择他可以走到n-1,n+1或2*n的位置。求这个人能追到那头牛的最少步数。
源代码下载: http://download.csdn.net/source/709469
3126:这个题目是在一个数组中进行搜索,不过在搜索之前,我们要用一个数组
把所有的是素数的四位数都存储起来,再用广度优先搜索,来找到从给出
的第一个数变到第二个数的最小步数。
搜索确实是一个好东西啊,它是通过把一个大问题分解为若干个小的问题
,再从头到尾把最优的解先放到队列里去,再一步一步走到最后,记录它最终
所的步数。这样就可以把最优的结果求出来了。