搜索
文章平均质量分 80
AlmostFree
这个作者很懒,什么都没留下…
展开
-
uva 340 Master-Mind Hints(最简单标记搜索)
题意是猜密码。给你一段密码,原创 2014-07-01 09:44:49 · 601 阅读 · 0 评论 -
hdu 2531 整块bfs
题意:给一个不超过20的整块,移动走迷宫。http://acm.hdu.edu.cn/showproblem.php?pid=2531解析:把整个块当做一个点,然后移动判断。详见代码。代码:#include #include #include #include #include #include #include #include #in原创 2015-05-02 12:27:00 · 563 阅读 · 0 评论 -
hdu 1026 bfs(数组模拟,路径输出)
题意:给一张图,求从左上角到右下角的最短路径。图上的数字代表一个怪物,杀掉怪物用的时间。解析:路径输出改了一晚,开始用指针去指,然后就全指乱了。然后改成了数组模拟。代码:#include #include #include #include #include #include #include #include #include #in原创 2015-04-27 22:01:07 · 431 阅读 · 0 评论 -
hdu 1253 3D bfs
题意:3D迷宫bfs。解析:和之前的那个3D迷宫差不多。代码:#include #include #include #include #include #include #include #include #include #include #define LL long long#define lson lo, mi, rt << 1原创 2015-04-28 09:50:32 · 322 阅读 · 0 评论 -
hdu 1035 dfs判环
题意:给一张带有指向性的图:SESWEEESNWNWEENEWSEN分别代表上下左右,指定起点0, k - 1,问按指示能否走出这张图,或者走入一个环。解析:按图一个一个往下走就行了,若当前步被访问过,则存在环。代码:#include #include #include #include #include #include #in原创 2015-05-03 20:54:21 · 482 阅读 · 0 评论 -
hdu 1242 优先队列的bfs
题意:给一张图,图上a为一个人,x为守卫,杀死守卫要1的单位时间,r为救a的人,注意r可能有很多个。现在问很多个r来救a,最快多长时间能救出a。解析:反过来考虑,由a去找r,找到最近的出来就行了。为了找到最短的,用优先队列来控制每次最小的点,因为x有的时候会干扰到step的计数,导致不是最短。代码:#include #include #include原创 2015-04-28 20:42:43 · 362 阅读 · 0 评论 -
hdu 1548 一维bfs大水题
题意:电梯,可以往上走或往下走,求从A到B楼的最短时间。解析:一维bfs,水。代码:#include #include #include #include #include #include #include #include #include #include #define LL long long#define lson lo, mi原创 2015-05-01 15:51:07 · 566 阅读 · 0 评论 -
八数码问题 poj 1077 康拓展开
题意:八数码问题。解析:直接康拓展开state,化成一个类似hash的key。代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long lo原创 2015-06-03 15:43:15 · 511 阅读 · 0 评论 -
poj 2449 第k短路 A* + spfa
poj 2449:题意:给一张图,求第k短路。解析:A* + spfa。一下转自:http://blog.csdn.net/mbxc816/article/details/7197228“描述一下怎样用启发式搜索来解决K短路。首先我们知道A*的基础公式:f(x)=g(x)+h(x);对h(x)进行设计,根据定义h(x)为当前的x点到目标点t所需要的实际距原创 2015-06-07 13:40:48 · 690 阅读 · 0 评论 -
poj 3255 次短路(第k短路) A* + spfa 或 dijkstra
题意:给一张无向图,求从1到n的次短路。解析:A* + spfa 或者 dijkstra。详解见上一题:http://blog.csdn.net/u013508213/article/details/46400189本题,spfa中,stack超时,queue的效率最高,priority_queue次之。代码:#include #include #i原创 2015-06-07 21:25:38 · 981 阅读 · 1 评论 -
hdu 2181 哈密顿绕行世界问题
题意:一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。解析:dfs就好了。代码:#include #include #include #include #include #include #include #include #include #include #include #inc原创 2015-05-25 18:50:41 · 338 阅读 · 0 评论 -
hdu 2102 A计划 伪3D迷宫
题意:给一个2 * n * m的迷宫,给起点,找终点。问能否在规定时间内找到。解析:bfs,z维直接用 ^1 来处理。代码:#include #include #include #include #include #include #include #include #include #include #include #include原创 2015-05-26 12:25:25 · 377 阅读 · 0 评论 -
poj 3669 bfs
题意:流星雨,给每次在x,y,t时间点落下来的流星。求从0,0点开始,最快跑到哪个地方可以安全避难。解析:bfs,开始图建的有点问题。然后是300那个限制要去掉。不该仔细的地方。。。太仔细了。。。。代码:#include #include #include #include #include #include #include #i原创 2015-06-11 20:41:41 · 335 阅读 · 0 评论 -
poj 3050 dfs + set的妙用
题意:给一个5x5的矩阵,求由多少个由连续6个元素组成的不一样的字符的个数。解析:dfs + set去重搞定。代码:#include #include #include #include #include #include #include #include #include #include #include #include #inc原创 2015-06-12 21:38:04 · 567 阅读 · 0 评论 -
poj 2411 2663 2420 dp+dfs+矩阵快速幂(1*2矩形排版次数)
从这篇博客学到很多:点击打开链接直接枚举高的状态,一旦此状态确定了,之后的状态就都确定了。poj2411:题意:给定一个长宽小于等于11的矩形,问用1×2的小矩形填满,有多少种方法。代码:#include #include #include #include #include #include #include #include #i原创 2015-08-10 20:30:48 · 701 阅读 · 0 评论 -
uva 816 带方向的bfs
题意:以下摘自小紫:给一个9*9的迷宫,输入起点、离开起点时的朝向和终点,求一条最短路。(多解任意输出)进入一个交叉点的方向(用NEWS这4个字母分别表示北东西南,即上右左下)不同,允许出去的方向也不同。如图:解析:首先弄懂在每个点的状态有哪些:位置(x,y)朝向d,以此来建立节点,并且以此来建立bfs的状态step;然后是方向dir与转弯turn的转换原创 2015-11-12 13:20:43 · 503 阅读 · 0 评论 -
hdu 1175 连连看(bfs)
题意:不从外面走的连连看。解析:抽象为图上一个点到另一个点,只能拐2次弯。然后用bfs来每询问一次爆一个就行了。入队条件是下一个点的拐弯次数小于当前的,或者下一个点没有被访问过。代码:#include #include #include #include #include #include #include #include #inc原创 2015-04-27 15:44:48 · 428 阅读 · 0 评论 -
hdu1728 (直撞bfs)
题意:一个没有方向感的萌妹纸走迷宫,规定只能转k次方向,给迷宫,问这个妹纸是否能走出迷宫。解析:这题有几个坑点,首先是m,n,然后是sx,sy,ex,ey。做法是横冲直撞,直接一条道走到黑,标记,入队就好了。代码:#include #include #include #include #include #include #include #in原创 2015-04-26 20:01:55 · 717 阅读 · 0 评论 -
hdu 1072(倒计时bfs)
题意:你手上有一个炸弹,6分钟后会爆炸,现在给你一张图,你走到出口时炸弹没有爆炸你就安全了。图上有很多重设时间点,走到重设时间点可以把时间重新设置为6分钟,你可以走上下左右四个方向,每走一步消耗一分钟。现在要输出最短逃出时间,若逃不出输出-1。图上0:代表墙, 1:代表可以走的路, 2:代表你的位置, 3:代表出口的位置,4:代表炸弹重设时间点。解析:用bfs来原创 2015-04-26 13:59:36 · 408 阅读 · 0 评论 -
poj 2676 sudoku(DFS)
题意是填数独。思路很简单,原创 2014-04-16 17:46:42 · 493 阅读 · 0 评论 -
poj 3278 Catch That Cow (BFS剪枝)
第一次想到求最短路,用bfs,用的不够灵活,代码很幼稚,活生生的TLE。TLE代码:#include#includeusing namespace std;struct point{ int x; int step;};int bfs(int s,int e){ queue Q; point now,next; now.x=s;原创 2014-03-05 16:48:54 · 526 阅读 · 0 评论 -
poj 2488 A Knight's Journey(DFS)
本题分为两部分:1.DFS。深搜能搜到最底部,深搜的出口是深度等于棋盘个数。2.字典序输出。首先对棋盘编号如下:所以图中八个点的字典序就为: B3... B5... C2... C6... E2... E6... F3... F5...转变成变换坐标,为 (x,y)原创 2014-03-05 22:02:52 · 493 阅读 · 0 评论 -
poj 3009 Curling 2.0(DFS)
大概题意就是弹弹球。第一眼看到“The purpose of the game is to lead the stone from the start to the goal with the minimum number of moves."的时候,惯性思维想到用广搜。之后发现数据规模比较小,可以直接深搜遍历。有空再翻回来写个广搜吧~DFS代码:#includeint map原创 2014-03-06 22:28:53 · 495 阅读 · 0 评论 -
poj 1321 棋盘问题(DFS)
深搜可以搜索出所有答案,题目没说清楚,只有在“#”上才能放旗子。直接看代码:#include#includebool chess[9][9];bool vis_col[9];int n,k,ans;void dfs(int row,int num) //当前搜索到row,num为已经放下的棋子{ if(num==k) { ans++;原创 2014-03-07 21:12:30 · 547 阅读 · 0 评论 -
poj 1426 Find The Multiple(DFS或打表)
大概题意就是找出一个1~200间的一个数字n,找出一个只由1,0组成的数m,使m被n整除。第一种 思路是dfs,搜到一种满足题意的答案就ok了。用的时间比较多。用unsigned long long 解决了大数问题。代码:#includeint n;bool flag;void dfs(unsigned long long a,int dep){ if(原创 2014-03-08 19:43:30 · 777 阅读 · 0 评论 -
poj 2251 Dungeon Master(BFS)
题意就是 3D迷宫,在noj上做过~,在平面 xoy 上加上z轴就变成3D啦~找最短的出路所以BFS。代码:#include#include#includeusing namespace std;char maze[31][31][31];int L,R,C;int xe,ye,ze;int dir[][3]= {{-1,0,0},{1,0,0},{0,0,1}原创 2014-03-09 21:05:09 · 519 阅读 · 0 评论 -
poj 3126 Prime Path(BFS)
Debug了一个早上,感觉自己BFS写得没错。。。最后发现原来是打表的时候漏了一个大括号。T T。不过练习了一下Codeblock工程中的Debug模式~,成功发现了问题。题意是让转化俩素数 j->k,一次只能换一个数位的数,并且转换过程中新的那个数还要是素数,求最少的次数。素数直接打表。附上学校某学长新生赛题解给的两种素数打表代码:1、 prime[i] 非0原创 2014-03-09 11:11:26 · 478 阅读 · 0 评论 -
hdu 1016 Prime Ring Problem(DFS)
题意是给一个数字n,寻找由小于n的n个正整数排列出前一个与后一个数的合是素数的环。用深搜,打表,很快就解决了。代码:#include#includeint n,ans[20];bool vis[31];bool prime[31]={0,1,1,1,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0};/*v原创 2014-03-09 21:40:06 · 499 阅读 · 0 评论 -
hdu 1010 Tempter of the Bone(dfs + 奇偶剪枝)
题意是给你大门开启的时间和地点,给你起点,让你写程序原创 2014-06-12 19:26:46 · 378 阅读 · 0 评论 -
poj 1979 Red and Black (DFS)
题意是给你一张图,‘@’是起点,‘.’能走,原创 2014-04-15 21:57:01 · 443 阅读 · 0 评论 -
poj 1606 Jugs and poj 3414 Pots(数组模拟BFS) uva 571 (数论)
据说是水题,参考别人代码写了一个晚上。题意是给两个水杯a因为用队列的stl要记录层比较难,所以用数组模拟。代码:#include #include const int MAX=105;int a,b,n,str[MAX*MAX],r,l;bool vis[MAX][MAX];char act[][10]= {" ","fill A","fill B","empt原创 2014-03-10 22:26:32 · 762 阅读 · 0 评论 -
uva 10308 (二叉树深搜)
题意:给点与点间的距离,且点与点间只有一条边,求最长的两点间距离。代码:#include #include #include #include #include #include #include #include #include #include #include #include #define LL long longusing namesp原创 2015-01-05 23:42:59 · 406 阅读 · 0 评论 -
[bin神带我飞系列]专题一 搜索入门
搜索入门练练练!http://acm.hust.edu.cn/vjudge/contest/view.action?cid=65959#overview感谢bin神带我第一次飞飞飞。A:题意:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子原创 2015-04-19 22:10:27 · 857 阅读 · 0 评论 -
noj:广搜 (bfs) and 深搜(dfs) 整理
第一次写dfs与bfs 在学长的帮助下过了两题自己学校oj的题第一题 dfsnoj 1010http://noj.io/problem/p/1010&cid=1116代码:#includeconst int M=81;int maze[M][M],n;int dir[][2]={{0,1},{1,0},{0,-1},{-1,0}};bool原创 2014-02-23 15:51:26 · 987 阅读 · 0 评论 -
uva 1103 dfs染色+dfs判断围块
题意:给一张16进制的图,然后给6种象形文字,你来判断图中存在几个象形文字,将结果按照字典序输出。Ankh:AWedjat:JDjed:DScarab:SWas:WAkhet:K解析:小紫上已经提示到了,用象形文字的“空洞”数来判断是哪个象形文字,所以,现在的关键在于,如何判断一个1围成的图形的内部,有多少个连通块。首先先把1原创 2015-11-11 23:45:08 · 545 阅读 · 0 评论