最短路spfa
来源:互联网 发布:sql with cte as 编辑:程序博客网 时间:2024/03/29 16:18
#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define mxn 10020#define inf 0x3f3f3f3fint first[mxn], nxt[mxn], to[mxn], cost[mxn], e;void add( int u, int v, int c ) {to[e] = v;cost[e] = c;nxt[e] = first[u];first[u] = e++;}int dis[mxn], pre[mxn], in[mxn];int q[mxn*10];void spfa( int s ) {memset( dis, 0x3f, sizeof( dis ) );memset( in, 0, sizeof( in ) );int head = 0, tail = 0;q[tail++] = s;dis[s] = 0;in[s] = 1;pre[s] = -1;while( head < tail ) {int u = q[head++];in[u] = 0;for( int i = first[u]; i != -1; i = nxt[i] ) {int v = to[i];if( dis[v] > dis[u] + cost[i] ) {dis[v] = dis[u] + cost[i];pre[v] = s;if( ! in[v] ) in[v] = 1, q[tail++] = v;}}}}int main() {int n, m;while( scanf( "%d%d", &n, &m ) != EOF ) {memset( first, -1 ,sizeof( first ) );e = 0;for( int i = 1; i <= m; ++i ) {int u, v, c;scanf( "%d%d%d", &u, &v, &c );add( u, v, c );add( v, u, c );}int st, end;scanf( "%d%d", &st, &end );spfa( st );if( dis[end] == inf )printf( "-1\n" );elseprintf( "%d\n", dis[end] );}return 0;}
0 0
- SPFA最短路
- 最短路之SPFA
- poj2472最短路spfa
- 最短路SPFA--poj3013
- 最短路 SPFA模板
- 最短路 SPFA
- 最短路spfa
- 最短路SPFA
- 最短路--SPFA算法
- 最短路SPFA算法
- 最短路SPFA
- 最短路SPFA
- 【SPFA】最短路 _HDU2544
- 【最短路】poj2472 SPFA
- 【最短路】poj2387 SPFA
- 最短路(SPFA)
- poj1511 最短路 spfa
- SPFA(最短路问题)
- java 实例化,执行。
- 数据挖掘十大经典算法
- 学习java Swing编程的一个简单Demo
- (2)今天你求职了吗?
- QT编译错误 error: cannot find -lGL
- 最短路spfa
- window下eslipse搭建django遇到的问题以及解决方法积累(持续更新)
- 1008 Elevator (20)
- mysql 可视化工具 导入sql文件
- window.requestAnimationFrame(drawFrame, canvas)
- 美化TabHost
- HDU 1003 DP 问题
- Visual C++ 集成开发环境
- 最短路dijkstra(堆实现)