最短路算法(2)-floyd算法

来源:互联网 发布:淘宝轮播图的尺寸 编辑:程序博客网 时间:2024/06/11 16:22

//floyd算法 #include<stdio.h>#include<limits.h>int main(void){      int a, b, c, i, k, j, n, m, d[105][105];      while(scanf("%d%d", &n, &m), n!=0 || m!=0){          for(i=1;i<=n;i++){d[i][i] = 0;for(j=1;j<=i-1;j++)  d[i][j] = d[j][i] = INT_MAX;          }for(i=1;i<=m;i++){  scanf("%d%d%d",&a,&b,&c);  d[a][b] = d[b][a] = c;   }           for(k=1;k<=n;k++)  {  for(i=1;i<=n;i++){  for(j=1;j<=n;j++){if(d[i][k]!=INT_MAX && d[k][j]!=INT_MAX && d[i][k]+d[k][j]<d[i][j])d[i][j] = d[i][k]+d[k][j];  }}  }        printf("%d\n", d[1][n]);      }      return 0;  }

0 0