随笔分类 -  搜索

摘要:#include <stdio.h>#define MAXN 21int map[MAXN][MAXN];int startx, starty;int w, h, ok, minMove;int dr[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};int legal(int x, int y){ if(x >= 1 && y >= 1 && x <= h && y <= w ) return 1; return 0;}void in(){ int i, j; for(i = 1; i 阅读全文
posted @ 2011-04-20 23:08 L.. 阅读(137) 评论(0) 推荐(0)
摘要:做出来要不要这么有感觉啊...以下转自http://hi.baidu.com/%8E%E1%D0%B3/blog/item/2f1d8f4c176a8dc4d1c86af9.html不过他写错了一个改过来了由于深度一定(m),所以使用深度优先搜索,自上而下的设定蛋糕序号,最顶层的为第1层,……,最底层的蛋糕为第m层,很明显满足题目条件的前i层的(从顶层(也就是编号为1的层)开始计数)最小面积mins[i]和体积minv[i]是在该层的半径以及高度都为i时取得,如果采用一般的神搜肯定会超时,所以这题还需要剪枝,剪枝条件有(从m层向上搜,假设前dep层的体积为sumv,面积为sums,当前所得的最 阅读全文
posted @ 2011-04-20 21:19 L.. 阅读(495) 评论(0) 推荐(0)
摘要:/*p 横q 竖顺序...这题要按照字典序顺序搜索,深搜策略,判断成功的条件是走的步数等于格子的数目*/#include <stdio.h>#include <string.h>#define MAXN 27int map[MAXN][MAXN];int p, q, cas, ok, step;;int pathX[MAXN], pathY[MAXN];int dr[8][2] = {{-2, -1}, {-2, 1}, {-1, -2}, {-1, 2},{1, -2}, {1, 2}, {2, -1}, {2, 1}}; //字典序顺序int legal(int x 阅读全文
posted @ 2011-04-07 22:51 L.. 阅读(161) 评论(0) 推荐(0)