求助0分,WA
查看原帖
求助0分,WA
413362
奋斗吧!少女楼主2021/8/27 16:44

这个代码错哪了?

#include<bits/stdc++.h>
using namespace std;
long long n,m,i,x,y,z,cf,j,mi,qi,a[1010][1010],f[10010],v[10010];
int main(){
	scanf("%lld%lld%lld",&n,&m,&qi);
	for(i=1;i<=n;i++)
	  for(j=1;j<=n;j++)
	    a[i][j]=1e9;
	for(i=1;i<=m;i++){
		scanf("%lld%lld%lld",&x,&y,&z);
		a[x][y]=z;
	}
	for(i=1;i<=n;i++)  f[i]=1e9;
	f[qi]=0;v[qi]=1;
	cf=x;
	for(i=1;i<=n-1;i++){
		for(j=1;j<=n;j++)
		  if(v[j]==0&&f[j]>f[cf]+a[cf][j])  f[j]=f[cf]+a[cf][j];
		mi=1e9;
		for(j=1;j<=n;j++)
		  if(v[j]==0&&f[j]<mi)  mi=f[j],cf=j;
		v[cf]=1;
	}
	for(i=1;i<=n;i++)  printf("%lld ",f[i]);
} 
2021/8/27 16:44
加载中...