社区讨论

dijkstra求助

P3371【模板】单源最短路径(弱化版)参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lr2y2xaw
此快照首次捕获于
2024/01/07 11:39
2 年前
此快照最后确认于
2024/01/07 14:38
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+9,fail=(1<<31)-1;
int n,m,s;
struct node{
	int to,val;
};
vector<node>v[maxn];
int dis[maxn];
bool vis[maxn];
void dijkstra()
{
	for(int i=1;i<=n;i++)
		dis[i]=fail;
	dis[s]=0;
	vis[s]=true;
	for(int i=0;i<v[s].size();i++)
	{
		int t=v[s][i].to,w=v[s][i].val;
		dis[t]=min(dis[t],w);
	}
	for(int k=1;k<n;k++)
	{
		int mi=fail,u;
		for(int i=1;i<=n;i++)
		{
			if(mi>dis[i]&&!vis[i])
			{
				mi=dis[i];
				u=i;
			}
		}
		vis[u]=true;
		for(int i=0;i<v[u].size();i++)
		{
			int y=v[u][i].to,w=v[u][i].val;
			if(dis[y]>dis[u]+w)
				dis[y]=dis[u]+w;
		}
	}
	for(int i=1;i<=n;i++)
		cout<<dis[i]<<" ";
}
int main()
{
	cin>>n>>m>>s;
	while(m--)
	{
		int u,v,w;
		cin>>u>>v>>w;
		v[u].push_back({v,w});//这里报错
	}
	dijkstra();
	return 0;
}
报错结果如下蒟蒻看不懂
CPP
[Warning] integer overflow in expression [-Woverflow]
In function 'int main()':
[Error] invalid types 'int[int]' for array subscript
悬关

回复

2 条回复,欢迎继续交流。

正在加载回复...