样例和第一个测试点数据在本地都能过,为什么提交上去就全部RE啊啊……
#include<bits/stdc++.h>
using namespace std;
int n,m,s,dis[10007];
bool inq[10007]={0};
struct Node{
int u,v,w;
};
vector <Node> g[10007];
int spfa(int start){
queue <int> q;
for(int i=0;i<10007;i++){
dis[i]=1000086;
}
dis[start]=0;
inq[start]=1;
q.push(start);
while(!q.empty()){
int fq=q.front();
q.pop();
inq[fq]=0;
for(int i=0;i<g[fq].size();i++){
Node e=g[fq][i];
if(dis[e.v]>dis[fq]+e.w){
dis[e.v]=dis[fq]+e.w;
if(!inq[e.v]){
q.push(e.v);
inq[e.v]=1;
}
}
}
}
}
void AddE(int x,int y,int z){
Node tmp;
tmp.u=x;
tmp.v=y;
tmp.w=z;
g[x].push_back(tmp);
}
int main(){
int zcj=2147483647;
cin>>n>>m>>s;
for(int i=1;i<=m;i++){
int u,v,w;
cin>>u>>v>>w;
AddE(u,v,w);
}
spfa(s);
for(int i=1;i<=n;i++){
if(dis[i]<1000086){
cout<<dis[i]<<" ";
}else{
cout<<zcj;
}
}
return 0;
}