题目链接单源最短路径
只AC了一个点,其他都是WA,题目又说没有负数和负环,为什么过不了啊
代码如下:
using namespace std;
int n,m,s;
struct edge
{
int u;
int v;
int w;
}e[200005];
int dis[100005];
int inf=2147483647;
void Bellman_Ford(int s)
{
for(int i=1;i<=n;i++)
dis[i]=inf;
dis[s]=0;
while(true)
{
bool update=false;
for(int i=1;i<=m;i++)
{
if(dis[e[i].v]>dis[e[i].u]+e[i].w)
{
dis[e[i].v]=dis[e[i].u]+e[i].w;
update=true;
}
}
if(!update)break;
}
}
int main()
{
cin>>n>>m>>s;
for(int i=1;i<=m;i++)
cin>>e[i].u>>e[i].v>>e[i].w;
Bellman_Ford(s);
for(int i=1;i<=n;i++)
cout<<dis[i]<<" ";
return 0;
}