求大佬教我为什么Bellman_Ford算法不行
  • 板块题目总版
  • 楼主KMSK
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/11/8 15:51
  • 上次更新2023/11/4 01:06:06
查看原帖
求大佬教我为什么Bellman_Ford算法不行
472423
KMSK楼主2021/11/8 15:51

题目链接单源最短路径
只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;
}
2021/11/8 15:51
加载中...