SPFA时找最短路径里比较优的算法了。可是一直不知道怎么输出它的最短路径。今天学习了一下,感觉精神得到了提升。。。
只需要一个pre数组即可逆序输出。附赠代码表示对自己的鼓励!(撒花~)
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<queue>
using namespace std;
const int N=1500,M=6500;
int pre[M*2];
struct edge//建立结构体
{
int u,v;
edge *next;
}e[M*2],*p=e,*point[N];
queue <int>Q;
inline void ad (int x,int y,int z)
{p++;p->u=y;p->v=z;p->next=point[x];
point[x]=p;
}
int dis[N];
bool used[N];
int n,s,t,ll,rr,vv;
void SPFA()
{
memset(dis,0x7f,sizeof(dis));
<