最短路 蓝桥杯
来源:互联网 发布:c aes加密解密算法 编辑:程序博客网 时间:2024/06/17 13:50
算法训练 最短路 时间限制:1.0s 内存限制:256.0MB 问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于10%的数据,n = 2,m = 2。对于30%的数据,n <= 5,m <= 10。对于100%的数据,1 <= n <= 20000,1 <= m <= 200000,-10000 <= l <= 10000,保证从任意顶点都能到达其他所有顶点。*/#include<iostream>#include<vector>#include<queue>#define MAX 20005#define MAX_E 2000005#define INF 0x3f3f3f3fusing namespace std;struct Edge{int from,to,cost;Edge(int f,int t,int c):from(t),to(t),cost(c){};};vector<Edge>edge[MAX_E];int n,m,Mincost[MAX],visit[MAX],cn[MAX];void SPFA(int s){fill(Mincost,Mincost+n,INF);Mincost[s]=0,visit[s]=1;queue<int>q; q.push(s);cn[s]++;while(!q.empty()){int tNode=q.front(); q.pop();visit[tNode]=0;for(int i=0;i<edge[tNode].size();i++){Edge e=edge[tNode][i];int id=e.to;if(Mincost[id]>Mincost[tNode]+e.cost){Mincost[id]=Mincost[tNode]+e.cost;if(!visit[id]){visit[id]=1;q.push(id); if(++cn[id]>n){return ;}}} }}}int main(){cin>>n>>m;for(int i=0;i<m;i++){int u,v,l; cin>>u>>v>>l;Edge e(u,v,l);edge[u].push_back(e); }SPFA(1);for(int i=2;i<=n;i++){cout<<Mincost[i]<<endl;}}
0 0
- 蓝桥杯 最短路
- 最短路 蓝桥杯
- 【蓝桥杯】最短路
- 蓝桥杯--最短路
- 蓝桥杯 最短路
- 蓝桥杯ALGO_05(最短路)
- 蓝桥杯 最短路 spfa
- 蓝桥杯 算法训练 最短路(最短路模板)
- 蓝桥杯 算法训练 最短路
- 蓝桥杯 算法训练 最短路
- 蓝桥杯--ALGO-5 最短路
- 蓝桥杯——最短路
- 蓝桥杯-算法训练-最短路
- SPFA算法 最短路 蓝桥杯
- 算法训练 最短路 蓝桥杯
- 蓝桥杯算法训练 最短路
- 最短路 & 次短路
- 最短路
- 针对上一篇有效地加载大图,根据PATH加载获取图片
- 从零开始学.net多线程系列
- visual studio 2010 opencv 应用程序无法正常启动
- c++构造函数详解
- [老老实实学WCF] 第三篇 在IIS中寄存服务 (转)
- 最短路 蓝桥杯
- linux配置java环境变量(详细)
- 含参数的宏与函数的区别
- 从12306的余票查询谈数据库的承载问题
- eclipse远程调试Linux下tomcat
- yt-2488: 实数四舍五入
- Html5属性 align="center"无效问题
- hive优化方式和使用技巧
- 【IOS学习】之五:引用计数