搜索
文章平均质量分 63
Diom
Just Do IT
展开
-
Tempter of the Bone II(BFS)
炸弹问题,题中加了一个小人拿到i个炸弹后去炸墙,一个炸弹能炸一面墙 一步所需时间为1秒,安炸弹到爆炸所需要一秒,也就是说从走到那面墙开始算起到通过那面墙所需要的时间为2秒 问多少秒后可以到达出口 如果出不去就输出-1 记录S点的坐标后开始BFS 由于有炸错墙的可能性,所以炸了墙之后不能在原图map中修改,需要有一个记录状态的数组 这里叫做state 在结构体里 state[i]原创 2016-02-05 18:07:05 · 422 阅读 · 0 评论 -
Oil Deposits(水)
搜索第一题,直接模拟搜索就可以了 dx和dy分别表示上下左右四个方向的搜索画个坐标轴就可以理解 然后判断是否为*或者超出边界,搜索完之后记得标记为*表示已搜索过 递归求解 #include #include #define N 111 char str[N][N]; int a,b; int dx[8]= {1,1,0,-1,-1,-1,0,1}; int dy[8]= {0,1,1,1,原创 2016-02-04 17:18:12 · 335 阅读 · 0 评论 -
N皇后问题
一道挺坑爹的搜索题目,按照写的方法结果TLE了后来想想毕竟题目给的条件有限制 直接打表过了... 附上方法: a,b,c数组表示横竖斜的线,等于0表示线上没有棋子,是用的递归搜索 #include #include int sum,n,a[15],b[25],c[25]; void dfs(int i,int num) { int j; if(num==n)原创 2016-02-04 17:25:53 · 395 阅读 · 0 评论 -
HDU 1226 超级密码(搜索进阶)
这道题是在搜索进阶专题看的 一开始看不懂不知道怎么运用搜索来解题 后来看了别人的代码理解了几个小时... 最终自己打出来 (自己打出来才是自己的) 好了说一下题目 : 第一个输入T为案例数 然后依次输入n,c,m n为可被密码整除的数, c为密码的进制数 比如c=2那么密码就是一个二进制数 这个密码可以在m各数中组合 这里要注意是组合!! 因为答案有点大所以需要写一个大数原创 2016-03-05 14:53:31 · 359 阅读 · 0 评论