bfs
文章平均质量分 80
不吸血的Vampire
这个作者很懒,什么都没留下…
展开
-
HDU1072
题意:在有一炸弹(定时6分钟)地图中0是墙 ,1是空地,2是起点,3是终点,4是炸弹重置点(重新定时为6), 问能否到达安全到达终于,并求出需要的最小时间.#include #include #include using namespace std; int m,n,s[10][10],sx,ex,sy,ey; struct node { int x,y,time,step; }; i原创 2013-11-16 22:12:20 · 648 阅读 · 0 评论 -
HDU 3085 Nightmare Ⅱ (双向广搜)
题意:有M,G两人和鬼魂(Z)在n*m的方格内,M每秒走3步,G每秒走一步,鬼魂每秒走2步,问是否能 不遇到鬼魂下两人相遇,鬼魂可以穿墙(X),人不可以。初始鬼魂有2个。 #include #include #include #include #include #include #include #define M 800 using namespace std原创 2014-06-21 11:11:54 · 938 阅读 · 0 评论 -
HDU 1195 Open the Lock (双向广搜)
题意:给你初始4个数字和目标4个数字,问是否能由初始经过变换到目标数字; 变换规则:每个数字可以加1(9+1=1)或减1(1-1=9),或交换相邻的数字(最左和最右不是相邻的)。 双向广搜:分别对初始和目标数字进行广搜,vis数组用1和2标记两种已搜索的数字,用mp数组记录状态的步数。 当从前往后搜可以到达2或从后往前搜可以到达1状态则就可以了。。。 #in原创 2014-06-20 21:47:02 · 869 阅读 · 0 评论 -
FZU 2150
题意:给你n*m的矩阵"#"代表草“.”代表空地,问两个人同时烧草,最小需要多少时间把草烧完(燃烧的草会蔓延到它的相邻的草) 思路:算出每颗草烧到所有草所需的时间,即ma[i][k][l]; 从所有的草枚举两个i,j算出它烧完所需的时间; 在加一些初始判断优化下 #include #include #include #include //#include #incl原创 2014-03-26 22:08:58 · 767 阅读 · 0 评论 -
HDU 1245 推箱子
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1254 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF 1e8 #define原创 2014-02-09 16:03:18 · 575 阅读 · 0 评论 -
HDU1044 BFS&&DFS
网上看了题解才知道的,和HDU4711 杭州赛类似 先BFS找到两两间的最短距离; 在DFS枚举所有路径找到最优解。。。。 #include #include #include #include #include #include #include #include #include #include #include using namespace st原创 2013-11-28 21:27:53 · 676 阅读 · 0 评论 -
HDU1026 BFS&&优先队列&&路径保存
刚开始做BFS专题时遇到它,因为路径保存放弃了 现在做,刚开始各种WA。。。。。 后来加了个优先队列,就AC了。。额。。 #include #include #include #include #include #include #include #include #include #include #include using namespace std; #defin原创 2013-11-23 21:16:01 · 576 阅读 · 0 评论 -
HDU1495:
大意:有三个杯子,开始时第一个杯子装满水(体积为a)。。。。倒来倒去,得到其中2个杯里的水的体积都为 a/2。。。。求最小次数。。。。不存在就输出NO。。。。 在任意状态下(即每次的队头)。。。。都有6种倒法(即遍历6种)a->b,c。。。 b->a,c。。。。c->a,b。。。。。#include #include #include #include #include #include #原创 2013-11-17 21:46:19 · 753 阅读 · 0 评论 -
三维广搜 PKU2225||ZJU1438
//注意输入的是列、行、层。//HDU1240 #include #include #include #include #include #include #include using namespace std; #define inf 10000000 char map[11][11][11]; int n; int dir[6][3]={{0,0,1},{0,0,-1},{0,-1,0},{原创 2013-11-17 11:02:04 · 634 阅读 · 0 评论 -
HDU 1401 Solitaire (双向广搜)
题意:在二维8*8的方格,给定4个初始点和4个最终点,问在8步内是否能从初始点走到最终点, 规则:每个点能上下左右移动,若4个方向已经有点则可以跳到下一个点。 双向广搜:同时对初始点和最终点广搜4步,对每一步记录状态,初始点为‘1’,最终点为‘2’, 若在限定时间内初始点的状态能到达‘2’,或最终点的状态能到达‘1’,则为YES!要记得排序。。 #include #includ原创 2014-06-20 16:18:40 · 1715 阅读 · 1 评论