社区讨论
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 条回复,欢迎继续交流。
正在加载回复...