迪杰斯特拉写的,有没有大佬帮忙调一下
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,m,s,a[1011][1011],d[1000100],v[1000100];
void dfs(int x){
memset(d,127,sizeof(d));
d[x]=0;
for(int i=1;i<=n;i++){
int j=-1;
for(int k=1;k<=n;k++){
if(!v[k]&&(j==-1||d[k]<d[j])){
j=k;
}
}
v[j]=1;
for(int k=1;k<=n;k++){
d[k]=min(d[k],d[j]+a[j][k]);
}
}
}
int main(){
cin>>n>>m>>s;
memset(a,127,sizeof(a));
for(int i=1;i<=n;i++){
int x,y,z;
cin>>x>>y>>z;
a[x][y]=z;
if(x==0){
d[x]=z;
}
}
dfs(s);
for(int i=1;i<=n;i++){
cout<<d[i]<<" ";
}
return 0;
}