hdu 搜索
starry22
这个作者很懒,什么都没留下…
展开
-
hdu1072 Nightmare C语言编写 广搜加队列 注意不要把所有走过的路封死 只封4的路 逃出后时间大于0
#include #define max 9 int map[max][max],n,m,xi,yi; int next[4][2]={1,0,0,1,-1,0,0,-1}; struct point { int x,y; int cost; //花费时原创 2011-08-17 14:05:37 · 361 阅读 · 0 评论 -
hdu 1045 Fire Net 跟N皇后差不多 果断暴搜
#include #include #define MAXN 5 int n,max,m;//max表示碉堡的最多数量 m表示当前的碉堡数量 char map[MAXN][MAXN]; bool check(int r,int c) { map[r][c]='H'; bool b=false; for(int i=0;i<n;i++){ if(map[原创 2011-08-20 20:01:56 · 193 阅读 · 0 评论 -
hdu1401 Solitaire 双向广搜
题意:在8 * 8 的跳棋棋盘上,给你两个状态,每个状态4个点,判断一个状态8步内能否到达另一个状态。 解法:广搜。每个状态4个棋子,每个棋子一步有4种走法,就是说,一个状态有16个后继状态,为了节省空间,用双向BFS,两个状态同时入队,交替着搜,各搜4步,判断有没有可能到达,我这里为了省便,初状态先搜了4步,将所有状态用二进制压缩成一个整数,用set容器存下来,再由终点状态搜4步,判断能不能到原创 2011-08-30 19:35:31 · 549 阅读 · 0 评论 -
hdu2553 N皇后问题 深搜 突然发现编程的路还很长很长
#include #include #include #define max 12 int x[max],sum,s[max]; int check(int n){ for(int i=0;i<n;i++) if(x[n]==x[i] || abs(x[n原创 2011-08-20 18:36:29 · 308 阅读 · 0 评论 -
hdu1238 Substrings 暴力过 注意剪枝就好了
#include #include #include using namespace std; #define max 101 int main() { int i,j,k,t,n,m,min; char str[max][max],str1[max],str原创 2011-08-27 14:13:05 · 331 阅读 · 0 评论 -
hdu1015 Safecracker 水题 枚举,题目有的多 这也算搜索?
#include #include #include #include using namespace std; bool cmp(char a,char b) { return a>b; } bool isok(int a,int b,int c,int d原创 2011-08-19 13:09:00 · 330 阅读 · 0 评论 -
hdu1240 Asteroids! 在处理NO ROUTE有点麻烦,因为sum可以等于0,故用队列,C语言要用结构数组编写队列
#include #include #define Maxn 15 char map[Maxn][Maxn][Maxn]; int N,A,B,C,D,E,F; char start[Maxn]; char end[Maxn]; int move[6][3]={{1原创 2011-08-17 10:52:43 · 217 阅读 · 0 评论 -
hdu1372 Knight Moves 蛋疼 忘记标记了 RE了很久
#include #include #define max 15 bool visit[max][max]; int next[8][2]={1,2,1,-2,-1,2,-1,-2,2,1,2,-1,-2,1,-2,-1},a,b,c,d; struct point原创 2011-08-17 20:30:36 · 256 阅读 · 0 评论 -
hdu1010 Tempter of the Bone 以前做的,回顾下
#include #include #include #include using namespace std; //迷宫地图 //X: 墙壁,小狗不能进入 //S: 小狗所处的位置 //D: 迷宫的门 //. : 空的方格 char map[原创 2011-08-25 12:08:20 · 263 阅读 · 0 评论 -
hdu1242 Rescue 队列加广搜 一个=号纠结了我很久
#include #define max 201 struct point{ int x,y,count; }queue[max*max],pri_queue[max*max]; char map[max][max]; int n,m,next[4][2]={0原创 2011-08-16 13:53:35 · 232 阅读 · 0 评论 -
hdu1241 Oil Deposits 伤不起啊,k局部变量被弄成了全局变量,要仔细啊
#include #include #define max 101 char map[max][max]; int next[8][2]={ {0, 1}, {1, 0}, {0, -1}, {-1, 0} , {-1, 1}, {1, -1}, {-1, -1},原创 2011-08-16 16:38:43 · 398 阅读 · 0 评论 -
hdu1253 胜利大逃亡 你妹 弄了一下午,交了13次 重新打一遍居然了 晕死,被水题淹到了
#include #define max 51 int map[max][max][max],a,b,c,t; int next[6][3]={{0,0,1},{0,1,0},{1,0,0},{-1,0,0},{0,-1,0},{0,0,-1}}; struct po原创 2011-08-17 16:44:07 · 524 阅读 · 0 评论 -
hdu1312 Red and Black 最近在纠结局部变量和全局变量,哎
#include #define max 21 int n,m,sum; int next[4][2]={1,0,0,1,0,-1,-1,0}; char map[max][max]; void bfs(int x,int y) { int i,xi,yi原创 2011-08-17 19:07:38 · 193 阅读 · 0 评论 -
hdu1016 Prime Ring Problem 素数环 深搜 淡定的飘过
#include #include #define max 25 bool prime[2*max],visit[max]; int n,num[max]; void bfs(int x) { int i; if(x==n) { if(pri原创 2011-08-18 09:50:13 · 223 阅读 · 0 评论 -
hdu1455 Sticks 小弟初次回溯 有点吃力
#include #include #include using namespace std; int found,len,ans,n,flag[101],s[101]; bool compare(int a,int b){ return a<b; } vo原创 2011-08-19 14:51:05 · 308 阅读 · 0 评论