#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;
}
报错结果如下蒟蒻看不懂
[Warning] integer overflow in expression [-Woverflow]
In function 'int main()':
[Error] invalid types 'int[int]' for array subscript
悬关