整理了简单的最短路bellman-ford算法模版,方便自己复习
/*
输入节点数n、边数m
接下来m行 输入边的起点、终点、长度
输出节点1到其他节点的最短路长度
*/
#include <bits/stdc++.h>
using namespace std;
const int maxn=20005;
const int inf=2e9;
int main(){
int n,m,u[maxn],v[maxn],w[maxn],d[maxn];
cin>>n>>m;
for(int i=0;i<m;i++){
scanf("%d%d%d",&u[i],&v[i],&w[i]);
}
for(int i=0;i<n;i++){
d[i]=inf;
}
d[0]=0;
for(int k=0;k<n-1;k++){//松弛n-1次
for(int i=0;i<m;i++){//检查每条边
int x=u[i]-1,y=v[i]-1;
if(d[x]<inf){
d[y]=min(d[y],d[x]+w[i]);
}
}
}
for(int i=1;i<n;i++){
printf("%d\n",d[i]);
}
return 0;
}