ACM->搜索(BFS & DFS)
OnlyTyou
这个作者很懒,什么都没留下…
展开
-
flowers
春天到了,师大的园丁们又开始忙碌起来了. 京师广场上有一块空地,边界围成了一个多边形,内部被划分成一格一格的.园丁们想在这个多边形内的每一格内种植一些花. 现在请你帮忙计算一下一共最多可以种多少花. 广场用一个M*N的字符数组表示,"."和"*"代表一个方格,其中"*"代表空地的边界,"."是空格,只有边界内部的空格才能用于种花. 一个空格位于边界内部,当且仅当由该点出发只允许原创 2014-03-29 23:37:38 · 824 阅读 · 0 评论 -
回溯法
回溯法在问题的解空间树中, 按深度优先策略,从根结点出发搜索解空间树。 算法搜索至解空间树的任意一点时, 先判断该结点是否包含问题的解。 如果肯定不包含,则跳过对该结点为根的子树的搜索, 逐层向其祖先结点回溯;否则,进入该子树,继续按深度优先策略搜索。 用递归方法实现回溯法。 void backtrack (int t) { if (t>n) out原创 2014-07-06 20:14:24 · 611 阅读 · 0 评论 -
优先队列
Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M Angel's friends want to save Angel. Their task is: approach Angel.原创 2014-07-26 19:22:26 · 586 阅读 · 0 评论 -
诡异的楼梯 (优化剪枝)
诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 8589 Accepted Submission(s): 2105 Problem Description Hogwarts正式开学以后,Harr原创 2014-07-27 10:24:49 · 582 阅读 · 0 评论 -
胜利大逃亡
胜利大逃亡 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 24972 Accepted Submission(s): 9553 Problem Description Ignatius被魔王抓走了,有一天魔原创 2014-07-26 20:27:58 · 589 阅读 · 0 评论 -
Children of the Candy Corn
Children of the Candy Corn Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9201 Accepted: 3993 Description The cornfield maze is a popular Halloween treat.原创 2014-07-09 16:41:00 · 540 阅读 · 0 评论 -
red and back
#include #include #include #define maxn 205 using namespace std; int K[maxn],vis[maxn]; void bfs(int s,int e) { queue Q; Q.push(s); vis[s]=1; int t; while(!Q.empty(原创 2014-04-03 11:58:33 · 836 阅读 · 0 评论 -
对不同的状态搜索
poj 3322 Bloxorz I题意: 给你一个箱子和箱子开始时摆放的方式,通过滚动箱子将其摆放到目标位置,其中有三种地板状态(坚硬的,易碎的,空的)分别能承受不同的箱子重量,求出最少滚动的次数。 分析: 用三维数组标记走过的状态,每次只需记录一个格子的情况。 代码:#include<iostream> #include<algorithm> #include<cstdio> #includ原创 2015-07-29 17:11:27 · 531 阅读 · 0 评论 -
带方向状态的搜索
zoj 3890 Wumpus题意: 一个人掉在一个n*n的洞中,开始位置是(0,0),方向朝右,在这个洞里面有三种东西(1 for Wumpus, 2 for pit and 3 for gold.)这个人每走一步,每转一个方向,爬出坑,捡金子分别都要花掉 ¥10。 求这个人拿到金子和从开始的位置出去的剩钱最多。 分析: 因为涉及到方向和捡金子的状态,需要用四维数组标记,另外,三种转换方原创 2015-07-30 09:51:15 · 493 阅读 · 0 评论