上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 29 下一页
摘要: 题目大意:一般的经典的最短路,只是点用名字来表示而已。解题思路:用静态邻接表+SPFA+map搞定的,注意边的个数是10000,但是由于是无向边,所以const int MAXE = 2*10005;小细节问题。还有用map只能输出最短路,但是很难打印出路径,待改进。中途写SPFA的时候坑爹了一下,忘了arrDis[s] = 0了,没有把起点的标志为0,结果调试了好久,再加上上面一个RE。第二次才... 阅读全文
posted @ 2012-02-07 20:08 cchun 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 自己写的SPFA模板,可以打印路径。(用静态链表实现的,(静态链表应该不用自己判断重边吧?待验证))#include#include#includeusing namespace std;const int MAXE = 10005;const int MAXV = 105;const int inf = 10000000;typedef struct node{ int s, t, w, nex... 阅读全文
posted @ 2012-02-07 16:59 cchun 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 田忌赛马,每输赢一局的赌注为200,n为一方的马数量(双方马一样多),且最大为1000.解题思路: 具体解题思路如下:(这段思路是看别人的) 1.当田忌最慢的马比齐王最慢的马快,赢一场先。因为始终要赢齐王最慢的马,不如用最没用的马来赢它。 2.当田忌最慢的马比齐王最慢的马慢,... 阅读全文
posted @ 2012-02-07 02:37 cchun 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 题目大意:地图中的五种元素:0代表墙 1代表空地 2代表人的起点 3代表出口 4代表炸弹的重启器炸弹只有6秒的时间,地图中的任何地方都可以走多遍,如果遇到4,那么炸弹的时间被重置为6,要求算出人到达出口的最短时间。解题思路:BFS+优先队列,只是标志状态的时候应该... 阅读全文
posted @ 2011-12-09 00:52 cchun 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个类似于地图的东西,然后奇数行的个数比偶数行的个数多一,就跟QQ上的泡泡龙游戏一样吧,,然后题目一开始给的你的图里面就包括了你已经射击了的那个球,并给出了这个地图的长,宽,还有起始点的坐标。你射击的泡泡中,如果有三个以上的泡泡颜色相同,那么它们就会爆炸,还有爆炸后,如果有泡泡跟从(上面往下数)第一行的泡泡没有直接或者间接相连,那么也会爆炸,求最后爆炸了多少个泡泡(题目输入中,小写字... 阅读全文
posted @ 2011-12-08 13:07 cchun 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个地图,地图中有三种元素,“.”代表空地,“x”代表墙,'1'->'9'代表怪兽,打怪兽的时间跟那个数字的时间是一致的。输入地图的长为c,宽为r,然后要求人从(0,0)走到(r-1,c-1),就是从地图的最左端走到最右端。求这个人的最短时间,还有打印出所走的路径。简单水题,唯一的亮点就是加上了一个打印路径。有点儿纠结~一开始解题思路:直接用优先队列+广搜搞,中途把点都放入一个map... 阅读全文
posted @ 2011-12-07 17:02 cchun 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一个地图里面有三种元素,分别为"@",".","#",其中@为人的起始位置,"#"可以想象为墙,然后.为可以走的空地,求人可以走的最大点数。解题思路:好吧,搜索入门题,直接广度搜索,标志入队的次数。入队的次数即为行走的步数。代码:#include#includeconst int MAX=25;using namespace std;typedef struct node{ int x,... 阅读全文
posted @ 2011-12-06 00:48 cchun 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 题目大意:一只小船在水中行走,想要到达目的地,然后有八个方向,用0 …… 7表示,分别是北,东北,东,东南……,而它在任何一点都有一个方向,而当它的下一步走的方向跟它此刻自己的顺风方向相同的时候(即下一步的方向跟它的数字相同),走这一步不需要耗费能量,否则耗费的能量为1个单位能量。然后要求这只小船到达目的地所需的最小能量。解题思路:一下来就感觉其实实现的方法比较容易,应该用优先队列的,只是那个状态... 阅读全文
posted @ 2011-12-04 13:01 cchun 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个地图,地图中只有两种元素,墙跟平地,然后要你求出一个人能在这个地图中走的最大距离。这个人一旦开始走路,那么他走的方向将是不变的。除非遇到墙,或者遇到地图的边,亦或者那个格子已经走过了,这个时候这个人才开始更换方向。然后要你求出这个人能走的最大距离的起始点的位置,输出最大距离,起始点坐标,还有一开始走的方向。(E,N,S,W),注意哦,如果最大距离相同,那么要输出起始点坐标的字典序... 阅读全文
posted @ 2011-12-04 12:34 cchun 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目大意:先略。解题思路:一般的广度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 阅读(151) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 29 下一页