
ACM_dfs&bfs
zzti_lhh
这个作者很懒,什么都没留下…
展开
-
openjudge:1724Roads
N cities named with numbers 1 ... N are connected with one-way roads. Each road has two parameters associated with it : the road length and the toll that needs to be paid for the road (expressed in the number of coins).原创 2019-03-20 22:10:59 · 171 阅读 · 0 评论 -
OpenJudge 4001:抓住那头牛
题目链接 题解: 这个题可以用广搜来解决,从农夫到牛的走法每次都有三种选择,定义一个队列,把农夫的节点加进队列,然后以这三种走法找牛,队列先进先出,按顺序直到找到牛的位置。 代码: #include<iostream> #include<stdio.h> #include<queue> #include<cstring> using namespac...原创 2019-03-25 23:34:02 · 179 阅读 · 0 评论 -
广度优先搜索思想讲解
什么是广度优先搜索? 从起始点,找距离他为 i (i=1,2,…n)的点,直到找到目标节点,然后只要记录每个节点的父节点指针,就能反推得到最优路径。 适用于求最小步数的题。广搜需要维护一个大小难以估计的队列,空间需求远大于深搜。但是广搜有可能比深搜快。一般广搜会用到队列。 广搜一般会让你找最短路径,或者路径。 ...原创 2019-03-25 23:35:50 · 763 阅读 · 0 评论 -
深度优先搜索的思想,剪枝,常见形式
什么是深度优先搜索? 深度优先搜索,递归,栈。一条路走到头,并且没到达目标, 就往回退一个,走其他的路 ,直到走到目标节点 。 但是这时候就有很多种可能,所以复杂度很高,这时候就用到剪枝了。 深搜关键在于剪枝,常见的有两种剪枝方式:可行性剪枝、最优性剪枝 : 1. 可行性剪枝: 及早发现正在探索的路径已经走不到终点 ,不在往下走。 2. 最优性剪枝: 走到节点V时发现此时付出的代价,比当前最有代价...原创 2019-03-23 19:52:17 · 694 阅读 · 0 评论 -
OpenJudge 2815:城堡问题
图1是一个城堡的地形图。请你编写一个程序,计算城堡一共有多少房间,最大的房间有多大。城堡被分割成mn(m≤50,n≤50)个方块,每个方块可以有0~4面墙。原创 2019-03-23 20:01:14 · 183 阅读 · 0 评论