最短路spfa POJ 1502 MPI Maelstrom
来源:互联网 发布:linux强制退出不保存 编辑:程序博客网 时间:2024/06/04 19:50
题意:一个信息站需要往其他信息站传输信息。当一个站接受到信息之后马上向跟它相连的信息站传输信息。已知没两个相连信息站之间传输时间。求:信息从第一个站传到每个站的最短时间。
思路:将传输代价作为路径长度,原来是求第一个信息站到其它所有信息站最短路径的最大值。
解法:用spfa,784K 0MS
#include<iostream>#include<cstdio>#include<vector>#include<cstring >#include<queue>using namespace std; const int MAX=205; const int INF=2100000000; bool vis[MAX];//判断是不是在队列中int dis[MAX],n,tmp,ans=-1;struct edge{ int to; int w; edge(int a=0,int b=0):to(a),w(b) {}};//存每个边的权值和指向的点vector<edge>E[MAX];void add(int from,int to,int w){ E[from].push_back(edge(to,w));}void spfa(){ queue<int> q; q.push(1); vis[1]=true; int from,to; while(!q.empty()){ from=q.front();//队首出队列 q.pop(); vis[from]=false; for(int i=0;i<E[from].size();i++){ to=E[from][i].to; if(dis[to]>dis[from]+E[from][i].w){//如果可以松弛 dis[to]=dis[from]+E[from][i].w;//进行松弛 if(!vis[to]){//如果不在队列里面 vis[to]=true;//入队列 q.push(to); } } } }}int main(){ freopen("i.txt","r",stdin); cin>>n; for(int i=2;i<=n;i++)dis[i]=INF,vis[i]=false; char str[50]; int power[10]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000},len; for(int i=2;i<=n;i++){ for(int j=1;j<i;j++){ scanf("%s",str); tmp=0,len=0; if(str[0]!='x') { len=strlen(str); for(int k=len-1;k>=0;k--)tmp+=power[len-1-k]*(str[k]-'0');//转换成数字 add(i,j,tmp);//由于是无向图,需要双向加边 add(j,i,tmp); } } } spfa(); for(int i=2;i<=n;i++) ans=ans>dis[i]?ans:dis[i];//寻找最大值 cout<<ans<<endl; return 0; }
0 0
- poj 1502--MPI Maelstrom (最短路spfa)
- 最短路spfa POJ 1502 MPI Maelstrom
- POJ 1502 MPI Maelstrom 最短路dijkstra
- 【POJ】1502 MPI Maelstrom 最短路
- POJ 1502 MPI Maelstrom(最短路)
- POJ 1502 MPI Maelstrom 最短路
- POJ 1502MPI Maelstrom BFS最短路
- poj 1502 MPI Maelstrom(最短路)
- POJ 1502 MPI Maelstrom最短路问题
- POJ 1502 MPI Maelstrom【最短路】
- POJ 1502 MPI Maelstrom 最短路
- POJ-1502-MPI Maelstrom [最短路][Dijkstra]
- POJ 1502 MPI Maelstrom (SPFA)
- POJ 1502 MPI Maelstrom 【最短路(迪杰斯特拉)】
- MPI Maelstrom(最短路)
- POJ 1502 MPI Maelstrom(spfa邻接矩阵)
- POJ 1502 - MPI Maelstrom(单源最短路)
- POJ 1502 MPI Maelstrom(单源最短路)
- springmvc上传文件出现的一些状况
- Android学习之 Intent显示和Intent隐式
- Java简单实现链表增删排
- 5-1、Spark环境搭建
- Codeforce 567C(Geometric Progression) 奇淫巧计...
- 最短路spfa POJ 1502 MPI Maelstrom
- Google Java 编码规范
- maven: Unable to add module to the current project
- [PHP]从脚本页面到Mysql数据库的各种中文乱码问题
- jQuery对象与DOM对象之间的转换
- Linux 网络编程 IP协议
- 伽玛函数
- android TIF HAL层代码分析
- 哈夫曼树算法压缩文件