
广搜
文章平均质量分 68
嘎达啊
无名小卒
展开
-
hdu2612
题意:两个人想在一个kfc见面,问他们见面花费最小的时间;分析:就是分别找他们到kfc的距离,然后就他们到每个kfc距离之和最小,即使所求,用广搜,总结:#include#include#include#includeusing namespace std;const int N = 210;const int inf = 100000000;int n, m, fla原创 2013-04-14 16:50:26 · 571 阅读 · 0 评论 -
hdu2553 回溯法
/用递归 回溯的方法做//把第cur行皇后放在第i列;判断他与前cur-1行比较,看前cur-1行上的皇后的列是否与cur行上的列相同不//在比较对角线上的是否相同;但不必比较行上是否相同因为它是按行排列的;// #include#include#includeusing namespace std;int c[11], a[11], n, h;int tot;原创 2013-04-30 17:26:07 · 580 阅读 · 0 评论 -
hdu1728
求在转弯的范围内 是否能到目标点,用广搜 这和以往的不同不是把遍历过的坐标标记不再使用, 而是 从不同的方向到莫个点的最优解放进队列;用一个数组记录从不同方向到每个点的 转弯的次数,然后比较从莫个点到一个点的转弯数和以前在这个点的最优解比较, 如果小就放入队列;大就放弃;这题主要是遍历的条件; #include#include#include#include原创 2013-04-29 13:10:29 · 571 阅读 · 0 评论 -
hdu1026
分析:就是优先队列+bfs#include#include#include#includeusing namespace std;const int maxn = 110;int fight[maxn][maxn];int n, m;int dir[4][2] = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};struct node{ in原创 2013-04-19 18:06:11 · 470 阅读 · 0 评论 -
hdu1458????
题意 就是一个电梯只有上下两个按钮,每层有一个数字,告诉你可以上几层 或下几层;广搜,注意用一个 数字 标记去过的楼层;以后不能再去;不过我不明白为什么不可以直接标记呢 为什么还要 单独开一个数组; #include#include#include#includeusing namespace std;int tot[2120];bool tt[2110];int N原创 2013-04-26 15:47:47 · 509 阅读 · 0 评论 -
hdu1372
广搜题意 :就是相当 中国的象棋 马走日 ;首先建立一个图; 每次要进行初始化; 然后广搜; #include#include#include#includeusing namespace std;int map[10][10];int dir[8][2] = {{-1, 2}, {-2, 1}, {-2, -1}, {-1, -2}, {1, -2}, {2, -1},原创 2013-04-25 16:29:04 · 650 阅读 · 0 评论 -
hdu1015深搜
题意:给一个目标数,叫你在12个字母中找5个,满足他给的关系式,并且有多个结果的话就按字典序最大的输出。思路分析:这题就是对给的12个字母,全部组合一下看看能不能满足这个式子,就用深搜,总结:深搜好像就是不断地递归,并用一个数组来标记判断,每一个递归就把有关系的所有可能全部尝试,再往前推,不断重复。 #include#include#includeusing namespace原创 2013-04-16 08:34:08 · 549 阅读 · 0 评论 -
hdu1242
这题时间怎么判断最小???? #include#include#include#includeusing namespace std;const int maxn = 210;int n, m, sx, sy, vis[maxn][maxn], dir[4][2] = {{-1, 0}, {0, -1}, {0, 1}, {1, 0}};char map[maxn][maxn];原创 2013-04-14 18:27:56 · 465 阅读 · 0 评论 -
hdu1253
//这题主要是注意剪枝,首先构建一个三维的图;在进行剪枝;如果没法剪枝 就进行广搜;从000开始想6个方向进行;降负荷条件的压入队列;一层一层的进行;对出栈的元素进行判断;符合条件就跳出; #include#include#include#includeusing namespace std;int map[51][51][51];int t, a, b, c, T原创 2013-04-24 00:32:06 · 542 阅读 · 0 评论 -
hdu1240广搜
一个三维数组要你求 给定的开始点和终点 最小的 步数 所以用 广搜;第一建立一个三维图;从给定的开始点 往六个方向进行广搜;如果满足条件就跳出;最好不要用cin输入 #include#include#include#includeusing namespace std;char map[10][10][10];int n, st1, st2, st3, en1, e原创 2013-04-23 20:37:38 · 459 阅读 · 0 评论 -
hdu2717
题意:一个人站在n点,只能向左走一步,或者向右走一步,或者直接走n的2倍步,要求走最少的步数抓住站在k点的牛。题意分析:一看就是广搜的经典题目。一般要求最少步数用广搜。总结:第一次做广搜,就是按广搜的思想,怎么觉得有点像深搜#include#include#include#includeusing namespace std;const int maxn = 200000原创 2013-04-14 13:05:35 · 926 阅读 · 0 评论 -
hdu1240
#include #include #include #include #include using namespace std;char map[11][11][11];int dir[6][3] = {{-1,0,0},{1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};int mark[11][11][11];int sx,sy,sz,ex原创 2013-07-11 20:11:34 · 488 阅读 · 0 评论