#1问题:在n个顶点和m条权值不同边的有向图内,计算不同顶点之间的最短路径
#2解析:#3代码`#include<stdio.h>
int main()
{
int maxn=99999999;
int k,i,j,n,m,a,b,c;
scanf("%d %d",&n,&m);//n个点m条有向边
int e[n][n];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i==j)
e[i][j]=0;
else
e[i][j]=maxn;
for(i=1;i<=m;i++)
{
scanf("%d %d %d",&a,&b,&c);//输入路径
e[a][b]=c;
}
for(k=1;k<=n;k++)//当其他顶点经过k点时是否有更近的路径
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(e[i][j]>e[i][k]+e[k][j] )
e[i][j]=e[i][k]+e[k][j];
//输出最终的结果
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",e[i][j]);
}
printf("\n");
}
return 0;
}