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