DFS
小狐狸jun
菜鸟飞呀飞~
展开
-
POJ2965 状态压缩+BFS,DFS枚举,以及大牛的解法~
和poj1753非常相似,这题用状态压缩+BFS同样可以解,状态压缩就是用二进制来表示一种状态。这是我在1753上改的BFS+状态压缩代码: //二进制+BFS写法#includeusing namespace std; //解决问题路径搜索bool flag[65536];int step[65536];struct con{ int f;原创 2013-03-15 16:53:37 · 2646 阅读 · 0 评论 -
sticks hdu 1455 dfs+减枝
题意,给出被割断的n个树枝的长度;求出其最小原长.input95 2 1 5 2 1 5 2 1641 2 3 450经典的一道深授,要经过多次减枝://第一次,从大到小判断短棒;即如(a,b,c)其中c=a+b;则总先判断c;//第二次,y记录判断到第几根木棒,下一次选取木棒则从第几根开始. //第三次,若判断第i根木棒失败,则不必判断与其相同原创 2012-12-03 16:25:56 · 471 阅读 · 0 评论 -
hdu1181 变形课 dfs
变形课Problem Description呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体.Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个原创 2012-12-03 22:40:35 · 544 阅读 · 0 评论 -
poj1088滑雪搜索dfs
#includeusing namespace std;#define MAXN 20000int map[105][105];int f[105][105];int x[]={0,0,1,-1};int y[]={1,-1,0,0};void dfs(int i,int j){ for(int k=0;k { if(map[i+x[k]][j+y[k原创 2013-04-01 21:00:57 · 564 阅读 · 0 评论 -
poj2488旧题重做标准DFS
注意:字典序。其他没什么的了,主要是重新熟悉一下DFS的过程。。。久了就忘了。#include#includeusing namespace std;bool vis[25][25];bool flag=0;int p,q;int dx[8] = {-2, -2, -1, -1, 1, 1, 2, 2};int dy[8] = {-1, 1, -2, 2, -2原创 2013-03-26 15:52:32 · 539 阅读 · 0 评论