POJ - 3026 Borg Maze bfs+最小生成树。】的更多相关文章

链接:poj 3026 题意:y行x列的迷宫中,#代表阻隔墙(不可走).空格代表空位(可走).S代表搜索起点(可走),A代表目的地(可走),如今要从S出发,每次可上下左右移动一格到可走的地方.求到达全部的A的路线总距离最小值 分析:能够先用bfs从上下左右四个方向将全部的A,S两两之间的最短距离,题目的目的是将S与全部的A连通,使得总距离最小,所以任选一点開始按最小生成树的算法做即可,并不是非要从S点開始 注:题目输入x,y后可能有非常多空格,能够用gets将多余的空格取走,开数组是尽量开大点.…
http://poj.org/problem?id=3026 题意:给你一个迷宫,里面有 ‘S’起点,‘A’标记,‘#’墙壁,‘ ’空地.求从S出发,经过所有A所需要的最短路.你有一个特殊能力,当走到S或A时可以分身出任意多个人一起走.计算路程时就是所有人的总路程之和. 题解:想一下,是裸的最短路套上bfs. 先暴力bfs出各个点之间的距离,存边 然后kruskal #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<qu…
http://poj.org/problem?id=3026 Borg Maze Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 3026 Description The Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of…
Borg Maze 题意: 题目我一开始一直读不懂.有一个会分身的人,要在一个地图中踩到所有的A,这个人可以在出发地或者A点任意分身,问最少要走几步,这个人可以踩遍地图中所有的A点. 思路: 感觉就算读懂了题目,也比较难想到这用到了最小生成树的知识,因为可以分身,所以每个点可以向其他点都连上边.可以用bfs预处理出所有的S点,A点的连线,再跑一遍最小生成树,即可得出答案.这里有几点注意,一开始我bfs没有记录step,而是直接找到一点后算曼哈顿距离,这是不对的,因为可能是绕了一个圈到了这个点.还…
Borg Maze 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/I Description The Borg is an immensely powerful race of enhanced humanoids from the delta quadrant of the galaxy. The Borg collective is the term used to describe the group consciou…
题目链接:http://poj.org/problem?id=3026 题意:题意就是从起点开始可以分成多组总权值就是各组经过的路程,每次到达一个‘A'点可以继续分组,但是在路上不能分组 于是就是明显的最小生成树,点与点的距离要用bfs或者dfs求一下.这题bfs要稍微优化一下.不能下暴力的bfs就是两点两点之间 bfs这样会有很多重复的查询会超时,所以要一次性的bfs找到一个点就bfs到底. #include <iostream> #include <algorithm> #in…
题目说从S开始,在S或者A的地方可以分裂前进. 想一想后发现就是求一颗最小生成树. 首先bfs预处理得到每两点之间的距离,我的程序用map做了一个映射,将每个点的坐标映射到1-n上,这样建图比较方便. 然后一遍prime就够了.注意用gets()读入地图的时候,上面还要用一个gets()接住无用的空格..(为啥不用getchar?0 0,看了讨论版才知道, 因为空格很多………………) #include<cstdio> #include<algorithm> #include<…
题目链接:http://poj.org/problem?id=3026 感觉英语比题目本身难,其实就是个最小生成树,不过要先bfs算出任意两点的权值. #include <stdio.h> #include <string.h> #include <queue> #include <algorithm> using namespace std; ][]; ]; struct Point { int x, y; }point[]; struct Edge {…
https://vjudge.net/problem/POJ-3026 题意 在一个y行 x列的迷宫中,有可行走的通路空格’ ‘,不可行走的墙’#’,还有两种英文字母A和S,现在从S出发,要求用最短的路径L连接所有字母,输出这条路径L的总长度. 分析 注意审题!!一开始读成可在任意位置分头走,结果题意限制了只能在字母处分开.这样就好做多了,L就是最小生成树的权值.因为这和生成树的处理过程很像,每一次找最近的点加入到集合中,即走过的路不用再考虑.本题难度在建图,先找出那几个字母的位置,给他们标号,…
链接: http://poj.org/problem?id=3026 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#problem/J Borg Maze Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6905   Accepted: 2315 Description The Borg is an immensely powerful race o…