acm/icpc
普通网友
这个作者很懒,什么都没留下…
展开
-
hdu 2514 Another Eight Puzzle
题目的大意就是,给你八个圆圈,将1~8这些数字填入圈中。这些圆圈之中,有些圈是互相连通的,相互连接的圆圈所填入的数字只差不能等于1。 输入数据中为0的地方是我们需要我们填入数字的。 从题目要求我们可以知道就是一个搜索题,用dfs直接搜所有的解,第一次搜到解时,保存下来,如果再一次搜到,就说明解不唯一,则直接退出。#include #include #include using原创 2013-07-04 00:33:22 · 573 阅读 · 0 评论 -
hdu 1026 Ignatius and the Princess I
题目大意:给定一个N*M的,一个点到相邻的点花费1s的时间,如果到达的点是数字n,又会在该点停留ns;如果该点是‘X’,则无法通过。如果求从(0,0)点到(N-1,M-1)点的最短时间。记录花费最短时间的路径。 做法:直接进行一遍优先队列+bfs,另外用一个数组pre[][]记录当前点的前一个点。当搜索完后,从点(N-1,M-1)开始,将所有的前一个点都保存进栈里面,然后根据题意输出结果。原创 2013-07-29 21:24:05 · 418 阅读 · 0 评论 -
hdu 2612 Find a way
题目大意:找出一个KFC,使yifenfei到这个KFC的所用时间加上Merceki到该KFC所用时间之和最小。大致做法:就是进行两遍bfs,找出yifenfei到所有KFC所用的最短时间,再找出Merceki到所有KFC所用时间,算出它们的最小和,即答案。#include #include #include using namespace std;const int maxn=2原创 2013-07-29 17:31:05 · 371 阅读 · 0 评论 -
hdu 2351 Catch him
题目大意:就是矩阵中找出进攻锋线队员“O”到四分卫“Q”之间的最短距离。做题方法:其实就是普通的迷宫问题的变形,只不过它要求的是一堆点到另一堆点的距离。方法其实很简单,把所有的O看成一个整体,然后每次判断的时候必须要所有的“O”点都满足要求。这里有个小技巧,就是每次记录该点已经访问过的时候,只要标记其中一个点就行了。#include #include #include #includ原创 2013-07-27 16:25:16 · 556 阅读 · 0 评论 -
hdu 1242 Rescue
题目大意就是给你一个字符矩阵,找出r到达a的需要使用的最短时间。没走一步花掉单位1的时间,如果进过x,就多花费单位1的时间。如果r无法达到a,输出"Poor ANGEL has to stay in the prison all his life.",否则,输出最短的时间。 对就类似于迷宫类题目,直接使用bfs搜索,但是由于需要最短的时间,所以需要使用优先队列保存节点。直接使用stl库里面的原创 2013-07-23 18:54:45 · 505 阅读 · 0 评论 -
hdu 1142 A Walk Through the Forest
题目大意:找出编号为“1”的点到编号为“2”的点的路径数目。满足条件的路径定义为:A点到B点相连,且A到目标点的最短距离大于B到目标的的距离。做法:从2点开始找出它到其他点的最短距离,然后直接对其进行dfs回溯,求出所有的解。但是这里得注意下,就是dfs过程中,要用到记忆化搜索,将搜索过的点保存下来。#include #include #include using namespa原创 2013-08-02 10:42:21 · 441 阅读 · 0 评论