#include <stdio.h>
#define MAX 1001
main()
{
int e[MAX][MAX];
int i=0,j=0,k=0,n=0,m=0,q=0,u=0,v=0,w=0,inf=99999999;
int dis[MAX];
for(i=1;i<MAX;i++)
for(j=1;j<MAX;j++)
if(i==j)e[i][j]=0;
else e[i][j]=inf;
for(i=0;i<MAX;i++)
dis[i]=0;
scanf("%d%d%d",&n,&m,&q);
for(i=0;i<m;i++)
{
scanf("%d%d%d",&u,&v,&w);
e[u][v]=w;
e[v][u]=w;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
if(e[i][k]+e[k][j]<e[i][j])
e[i][j]=e[i][k]+e[k][j];
for(i=0,j=0;i<q;i++)
{
scanf("%d%d",&u,&v);
dis[j++]=e[u][v];
}
for(i=0,j=0;i<q;i++)
printf("%d",dis[j++]);
return 0;
}
我用的是Floyd,然后提示说前四个点WA,后面全是RE,怎么办? 请求大佬们指教,谢谢!