12 2011 档案
HDU1072_Nightmare_优先队列+广搜
摘要:题目大意:地图中的五种元素:0代表墙 1代表空地 2代表人的起点 3代表出口 4代表炸弹的重启器炸弹只有6秒的时间,地图中的任何地方都可以走多遍,如果遇到4,那么炸弹的时间被重置为6,要求算出人到达出口的最短时间。解题思路:BFS+优先队列,只是标志状态的时候应该... 阅读全文
posted @ 2011-12-09 00:52 cchun 阅读(187) 评论(0) 推荐(0)
HDU1547_Bubble Shooter_泡泡龙_广搜
摘要:题目大意:给你一个类似于地图的东西,然后奇数行的个数比偶数行的个数多一,就跟QQ上的泡泡龙游戏一样吧,,然后题目一开始给的你的图里面就包括了你已经射击了的那个球,并给出了这个地图的长,宽,还有起始点的坐标。你射击的泡泡中,如果有三个以上的泡泡颜色相同,那么它们就会爆炸,还有爆炸后,如果有泡泡跟从(上面往下数)第一行的泡泡没有直接或者间接相连,那么也会爆炸,求最后爆炸了多少个泡泡(题目输入中,小写字... 阅读全文
posted @ 2011-12-08 13:07 cchun 阅读(234) 评论(0) 推荐(0)
HDU1026_优先队列+广搜+打印路径
摘要:题目大意:给你一个地图,地图中有三种元素,“.”代表空地,“x”代表墙,'1'->'9'代表怪兽,打怪兽的时间跟那个数字的时间是一致的。输入地图的长为c,宽为r,然后要求人从(0,0)走到(r-1,c-1),就是从地图的最左端走到最右端。求这个人的最短时间,还有打印出所走的路径。简单水题,唯一的亮点就是加上了一个打印路径。有点儿纠结~一开始解题思路:直接用优先队列+广搜搞,中途把点都放入一个map... 阅读全文
posted @ 2011-12-07 17:02 cchun 阅读(289) 评论(0) 推荐(0)
HDU1312_Red and Black_广搜
摘要:题目大意:一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象为墙,然后.为可以走的空地,求人可以走的最大点数。解题思路:好吧,搜索入门题,直接广度搜索,标志入队的次数。入队的次数即为行走的步数。代码:#include#includeconst int MAX=25;using namespace std;typedef struct node{ int x,... 阅读全文
posted @ 2011-12-06 00:48 cchun 阅读(599) 评论(0) 推荐(0)
HDU2757_Ocean Currents_优先队列+广搜_入门题_十四周模拟赛
摘要:题目大意:一只小船在水中行走,想要到达目的地,然后有八个方向,用0 …… 7表示,分别是北,东北,东,东南……,而它在任何一点都有一个方向,而当它的下一步走的方向跟它此刻自己的顺风方向相同的时候(即下一步的方向跟它的数字相同),走这一步不需要耗费能量,否则耗费的能量为1个单位能量。然后要求这只小船到达目的地所需的最小能量。解题思路:一下来就感觉其实实现的方法比较容易,应该用优先队列的,只是那个状态... 阅读全文
posted @ 2011-12-04 13:01 cchun 阅读(154) 评论(0) 推荐(0)
HDU2782_暴力深搜_第十四周模拟赛
摘要:题目大意:给你一个地图,地图中只有两种元素,墙跟平地,然后要你求出一个人能在这个地图中走的最大距离。这个人一旦开始走路,那么他走的方向将是不变的。除非遇到墙,或者遇到地图的边,亦或者那个格子已经走过了,这个时候这个人才开始更换方向。然后要你求出这个人能走的最大距离的起始点的位置,输出最大距离,起始点坐标,还有一开始走的方向。(E,N,S,W),注意哦,如果最大距离相同,那么要输出起始点坐标的字典序... 阅读全文
posted @ 2011-12-04 12:34 cchun 阅读(202) 评论(0) 推荐(0)
HDU1242_优先队列
摘要:题目大意:先略。解题思路:一般的广度wa,改为用优先队列就搞定了。代码:#include#includeconst int MAX=205;using namespace std;typedef struct node{ int x,y; int step; node(int a=0) :step(a) {}; friend bool operator n2.step; }}N;int n,m,e... 阅读全文
posted @ 2011-12-03 16:37 cchun 阅读(165) 评论(0) 推荐(0)
HDU1241_广度优先搜索
摘要:题目大意:给你一个地图,有两种元素分别为‘.’与‘@’,然后要求你找出不相连的@的个数,@的邻接与@的对角都算是相连的。解题思路:广搜的入门题嘛,一开始想的时候,就感觉广搜很靠谱,因为搜相连的,用按层来历遍是比较好的,直接从地图上的每个点开始枚举,如果有一个点为@,那么就以这个点为起始点去开始广搜,然后广搜到它相连的点都标志掉,接着再重复一开始的操作。吐吐槽:做完这道题目后才发现,自己没有用到题目... 阅读全文
posted @ 2011-12-03 13:44 cchun 阅读(438) 评论(0) 推荐(0)
HDU1238_搜索入门_暴力枚举
摘要:题目大意: 给你n个字符串,然后要求求一个最大的子串(或者子串的反串,子串可以倒过来的意思)在每个字符串中都出现。要求求这个子串的长度。解题思路:为了节省时间,先找出这些串中长度最短的,然后枚举这个串中的所有子串。再让这个子串或者反串去匹配每一个串,若都符合,即输出,然后退出。这里枚举,当然是从子串长度大的往小的枚举啦,节省时间。不过还是写了3重for循环,但是串的长... 阅读全文
posted @ 2011-12-01 13:58 cchun 阅读(289) 评论(0) 推荐(0)
string::npos 是什么 c++ /STL
摘要:find方法返回一个名为 string::npos 的特殊值,说明查找没有匹配。The string class provides six search functions, each named as a variant of find. The operations all return a string::size_type value that is the index of where ... 阅读全文
posted @ 2011-12-01 12:53 cchun 阅读(631) 评论(0) 推荐(0)