闰土,为什么窝代码错惹qwq。
本机上样例过得了,但下载了第一个数据发现过不了。
#include<bits/stdc++.h>
using namespace std;
queue <int> q;
int n,m,s,u,v,w;
bool pd[10001];
int ljjz[10001][10001];
int mr[10001];
int zdl(int nowgo)
{
for(int i=1;i<=n;i++)
{
if(ljjz[nowgo][i]!=0)
{
if(mr[nowgo]+ljjz[nowgo][i]<mr[i])
{
mr[i]=mr[nowgo]+ljjz[nowgo][i];
}
if(pd[i]==false)
{
pd[i]=true;
q.push(i);
}
}
}
}
int main()
{
scanf("%d%d%d",&n,&m,&s);
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&u,&v,&w);
ljjz[u][v]=w;
}
for(int i=1;i<=n;i++) mr[i]=2147483647;
mr[s]=0;
q.push(s);
while(!q.empty())
{
zdl(q.front());
q.pop();
}
for(int i=1;i<=n;i++) printf("%d ",mr[i]);
return 0;
}