样例可以通过,但是为什么提交会RE的?
#include<bits/stdc++.h>
using namespace std;
long long n,m,s;
long long dist[20000],st[20000],g[1000][1000];
int dijkstra(){
memset(dist,0x3f,sizeof dist);
dist[s]=0;
for(int i=1;i<=n;i++){
int t=-1;
for(int j=1;j<=n;j++){
if(!st[j]&&(t==-1||dist[t]>dist[j])){
t=j;
}
}
st[t]=1;
for(int j=1;j<=n;j++){
dist[j]=min(dist[j],dist[t]+g[t][j]);
}
}
}
int main(){
cin>>n>>m>>s;
memset(g,0x3f3f3f3f,sizeof g);
for(int i=1;i<=m;i++){
int a,b,c;
cin>>a>>b>>c;
g[a][b]=c;
g[i][i]=0;
}
dijkstra();
for(int i=1;i<=n;i++) cout<<dist[i]<<" ";
return 0;
}