
广搜
文章平均质量分 70
zafkiel_nightmare
弱弱的程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdu 1253 胜利大逃亡
简单空间bfs,开三维数组剪枝1026ms过#include#include#include #include using namespace std;int a,b,c,t;int re;int mapp[51][51][51];int dir[6][3]={{0,0,1},{0,0,-1},{1,0,0},{-1,0,0},{0,1,0},{0,-1,0}};struct原创 2015-04-10 16:48:23 · 660 阅读 · 0 评论 -
hdu 1226 超级密码
bfs,用所给数字由短到长的组成密码,开始用的优先队列,测试了很多数据都没问题,但是交上去却wa,用普通队列重写了一遍才ac#include#include#include#include#define maxn 5000+5using namespace std;int n,m,z,flag;int rem[30];int visit[maxn];struct stu{原创 2015-06-20 01:21:29 · 718 阅读 · 0 评论 -
hdu 1495 非常可乐
看了别人的许多代码,长的让人发指,感觉70行就能搞定的代码写了上百行?...6种情况可以用循环解决#include#include#include#define maxn 100+5using namespace std;int n[3];int vs;int visit[maxn][maxn][maxn];//三位数组记录有木有走过 int dir[6][3]={{0,1原创 2015-05-19 14:36:00 · 569 阅读 · 0 评论 -
hdu 1728 逃离迷宫
以为这题和连连看一样水,就很开心的用了dfs然后tle了无数次,好吧,我bfs总行了吧,然后wa了无数次.................之所以wa是因为在bfs的过程中有些点是可以重复加入队列的.例如13 3..*...*.*1 1 1 3 2这组数据(行,列)1 (1,1)→(1,2)→(2,2)→(2,3)要转2次弯;2 (1,1)→(2,1)原创 2015-04-16 01:03:25 · 611 阅读 · 0 评论 -
hdu 1043 Eight
与hdu 1430 魔板一样采取预处理。用map代替康托展开不过要注意,我们要反向储存路径和状态,例如我们向上搜索,但我们实际上得到的是从上走到下的结果因此要记录d,最后把得到的路径反向输出不过用g++居然超内存了.#include#include#include#include using namespace std;string ans;maproot;struct原创 2015-05-25 13:24:51 · 476 阅读 · 0 评论 -
hdu 2489 漫步校园
那个sb翻译的题目,真是醉了,dfs+bfs#include#include#include#define ll long long#define maxn 55using namespace std;int n;int mapp[maxn][maxn];ll dp[maxn][maxn];int vaule[maxn][maxn];int dir[4][2]={{0,1}原创 2015-08-26 17:19:17 · 459 阅读 · 0 评论 -
hdu 1142 A Walk Through the Forest
无聊的一题#include#include#include#include#define maxn 1010#define inf 1<<30using namespace std;int n,m;vectormapp[maxn];int vaule[maxn][maxn];int d[maxn];int dp[maxn];void init(){ for(int原创 2015-08-26 19:44:28 · 244 阅读 · 0 评论 -
hdu 2822 Dogs
优先队列bfs,无难度,走x不用花时间,走“.”时间为1;#include#include#include#define maxn 1000+5using namespace std;char mapp[maxn][maxn];int visit[maxn][maxn];int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};int n,m;in原创 2015-04-23 19:27:26 · 618 阅读 · 0 评论 -
hdu 5423 Rikka with Tree
六花和裕太又开始秀恩爱了!每次看到这种题目都会受到暴击.............昨晚随意的写了个dfs结果终评给挂掉了,今天从新用bfs写了一遍#include#include#include#define maxn 1005using namespace std;int n;vectormapp[maxn];int visit[maxn];void init(){ f原创 2015-08-30 14:57:30 · 569 阅读 · 0 评论 -
hdu 4747 Pet
0为根节点,然后给你一个深度,问你深度以外的点有多少个,简单bfs,无难度水题#include#include#include#include#define maxn 100005using namespace std;int n,m;vectormapp[maxn];int visit[maxn];struct stu{ int num; int d;};void原创 2015-09-12 14:24:23 · 405 阅读 · 0 评论 -
hdu 1983 Kaitou Kid - The Phantom Thief (2)
bfs+dfs很有意思也很好的一道题然而我用了很久才ac#include#include#includeusing namespace std;char mapp[10][10];int visit[10][10];int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};int n,m,o;int sx,sy,ex,ey;int flag;s原创 2015-05-22 00:31:31 · 642 阅读 · 0 评论 -
hdu 1430 魔板
康拓展开?双向Bfs?no,no,no,简单单向bfs+map判重就好,不过预处理的思想是不变的。不过我看了许多博客,也没人解释为何12345678可以达到其他所有的状态#include #include #includeusing namespace std;string st,ed;mapmapp;map::iterator it;struct stu{ s原创 2015-05-17 23:04:08 · 599 阅读 · 0 评论 -
hdu 1240 Asteroids!
不开心,简单的三维bfs#include#includeusing namespace std;string str1,str2;int n;int sx,sy,sz,ex,ey,ez;char mapp[11][11][11];int dir[6][3]={{0,0,1},{0,0,-1},{1,0,0},{-1,0,0},{0,1,0},{0,-1,0}}; int re原创 2015-04-10 20:16:10 · 486 阅读 · 0 评论 -
hdu 4528 小明系列故事——捉迷藏
一开始很疑惑自己为什么错了,后来才知道原来这题是可以往回 走的.开4维visit数组记录状态,状态不同则往回走,相同再往回走.130 31 95S................................X...............................X...............................X..................原创 2015-04-11 14:47:42 · 895 阅读 · 0 评论 -
hdu 3152 Obstacle Course
bfs+优先队列,无难度#include#include#include#define maxn 125+5using namespace std;int n;int casee=1;int mapp[maxn][maxn];int visit[maxn][maxn];int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};struct stu原创 2015-04-23 19:45:38 · 605 阅读 · 0 评论 -
hdu 2612 Find a way
广搜2次,照着模版总算a了#include#include#include#define maxn 200+5using namespace std;int m,n,ax,ay,bx,by;char mapp[maxn][maxn];int visit[maxn][maxn];int rem1[maxn][maxn];int rem2[maxn][maxn];int dir原创 2015-03-30 20:28:55 · 555 阅读 · 0 评论 -
hdu 1180 诡异的楼梯
要注意,虽然楼梯有时不能过,但是我们可以在楼梯前等一下,等到楼梯达到我们需要的状态时再过,其实不用优先队列也是可以的.具体自己去想吧.好久没写这么长的代码了#include#include#includeint m,n;int tx,ty,sx,sy;char mapp[21][21];int visit[21][21];int dir[4][2]={{0,1},{1,0},{0原创 2015-04-08 21:23:46 · 414 阅读 · 0 评论 -
hdu 1548 A strange lift
简单的广搜,一开始没有把re初始化,wa了好多次#include#include#includeusing namespace std;int n,a,b;int mapp[200+5];int visit[200+5];int re=-1;struct stu{ int s,t;};void bfs(int h){ stu x,y; queueroot; x.原创 2015-03-31 19:31:24 · 392 阅读 · 0 评论 -
hdu 2717 Catch That Cow
暴力搜索(广搜),注意要先判断再加入队列,否则会超内存#include#include#include#include#define maxn 100000+5using namespace std;int dir[2]={1,-1};int vis[maxn]={0};int n,m,re;int maxx;struct stu{ int x,s;};voi原创 2015-03-30 23:08:21 · 470 阅读 · 0 评论 -
hdu 1072 Nightmare
给出一个n*m的矩阵, 0 表示不可走 1 表示可走 2 表示起点 3 表示终点 4 表示可走且走到这一步可以满血 某人一开始有6滴血,走一步少一滴..到0就死了.. 可以走到4的位置满血再走.. 求出最少走几步可以从起点到终点..带状态的bfs,第三次做了#include#include#includeusing namespa原创 2015-05-09 20:31:07 · 400 阅读 · 0 评论 -
hdu 1689 Alien’s Necklace
输出节点数为奇数且最小环的节点数开始开2维数组果断超内存,看了别人的代码才知道用奇偶性来标记#include#include#include#include#define maxn 10000+1using namespace std;vectormapp[maxn];int n,m;int visit[maxn][2];struct stu{ int pre; i原创 2015-05-21 00:17:13 · 699 阅读 · 0 评论 -
hdu 1026 Ignatius and the Princess I
这是我搞ACM这半年来做过最恶心的一题之一这题思路其实很简单,只需注意要用优先队列和记录路径即可;然后说说这题恶心的地方首先是这坑爹的输出,简直了.然后注意第一个点和最后一个点也有可能发生战斗;最后就是记录路径的方法,我是在结构体里定义数组然后传递下去(开始我把需要战斗的点用坐标的相反数表示结果和(0,0)产生了逻辑矛盾,之后我把需要战斗的点在记录坐标时候+200才解决);其实记录原创 2015-04-02 20:04:27 · 589 阅读 · 0 评论