随笔分类 -  图论——搜索题目

摘要:http://poj.org/problem?id=3009注意两点:1:只有当冰壶的所有可能走的方向上有0可以移动时,他才能移动,这里就是这组数据的解释6 11 1 2 1 1 3 因为2左右都是1不能移动座椅不能走。2:但冰壶蹦到障碍物时,障碍物会破碎,此处就会变成可以走的路线了。View Code #include <cstdio>#include <cstring>#define maxn 24using namespace std;int sx,sy,ex,ey;bool flag;int ans,n,m,map[maxn][maxn];int dir[4][ 阅读全文
posted @ 2012-04-12 21:49 E_star 阅读(215) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3083题意就读了很长时间还是没读懂。。。无语。。。懂了之后才开始自己写了一个果断tle郁闷死我了。。最后看了别人很巧妙的方法。。0s过。。。牛啊。不过就是不明白,为什么初始方向没标记也能过。默认的也能过。。。默认初始方向为0的View Code #include <cstdio>#include <cstring>#include <queue>#include <iostream>#define maxn 50using namespace std;int vt[maxn][maxn];ch 阅读全文
posted @ 2012-03-02 22:47 E_star 阅读(190) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2049好纠结的一道题,刚拿过体来就已经懵了。这个图的信息到底该怎么存啊。。。纠结。看了别人的思路才A的。。he,ve两个数组分别存放这平行于x轴,y轴的墙,门信息。。。dis存储到达该点的最端距离。View Code #include <cstdio>#include <cstring>#include <queue>#define maxn 250#define inf 999999999using namespace std;struct node//优先队列的写法{ int x,y; int len 阅读全文
posted @ 2012-03-01 20:30 E_star 阅读(273) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3278可能写DFS写的比较习惯吧,每次只要遇到搜索提就会用DFS写。结果DFS版本各种剪枝后还是TLE郁闷。。求用dfs过的大牛代码。。后来用了bfs中间还是出了点小问题,考虑不认真造成的。BFSView Code #include <iostream>#include <cstring>#include <cstdio>#include <queue>using namespace std;int ans,s,e;bool visit[100007];struct node{ int pos 阅读全文
posted @ 2012-02-29 08:55 E_star 阅读(216) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2965和pku1753 一样的思路,可是自己敲了三四遍还是不出结果。就叫比较细心的GTL来帮忙看了看。。结果最重要的地方终于检查了出来,就是再change函数里面对要改变的那一点改变了两次。唉,,这错误找出来不容易啊。。。思路:将每个点压缩进一维数组,然后每个点枚举他的两种状态(改变或者不改变),最后得出结果。View Code #include <iostream>#include <cstdio>#include <cstring>#define maxn 10#define inf 99999999 阅读全文
posted @ 2012-02-23 19:29 E_star 阅读(193) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=1753以前做过的一道题目,可是拿过来在做就没思路了。还是看了以前做的。唉。。悲剧啊。。思路:首先将整个4*4的棋盘,压缩到一个一维数组中,然后对每一个点的两种状态(翻转或者不翻转)枚举。枚举完所有的情况,最后查看是否能够达到目标。View Code #include <cstdio>#include <cstring>#include <iostream>#define maxn 10#define inf 99999999using namespace std;char str[maxn][maxn]; 阅读全文
posted @ 2012-02-22 21:14 E_star 阅读(245) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1026才开始自己不清楚什么优先队列,就是直接从终点出发搜索直到找到出发点,记录最近。结果wa很多次,最后问了一下被人,才发现,最短的时间不是单调的每一步还要加上打怪的时间,yy了一下只要在每次出队列之前从小到大排一下队列里面的元素就行了啊。可是我的编码能力可能别太弱了结果没实现,于是就学习了stl中的优先队列的写法,stl 好强大啊。。思路:bfs,优先队列,pre数组记录后继元素,,ptr数组记录到该点的时间,最后递归尚未输出结果(这个地方很难想到,很巧妙)。。View Code 1 #include .. 阅读全文
posted @ 2011-11-26 11:47 E_star 阅读(302) 评论(0) 推荐(0)