【模板】Floyd-Warshall算法

Floyd-Warshall算法用于求任意两点间的最短路问题

 

 1 #define MAX_V 100
 2 
 3 int d[MAX_V][MAX_V];  //d[u][v]表示边e=(u,v)的权值(不存在时设为INF,不过d[i][i]=0)
 4 int V;                //顶点数
 5 
 6 int Min(int a,int b)
 7 {
 8     return a<b?a:b;
 9 }
10 
11 void floyd_warshall()
12 {
13     for(int k=0;k<V;k++)
14         for(int i=0;i<V;i++)
15             for(int j=0;j<V;j++)
16                 d[i][j]=Min(d[i][j],d[i][k]+d[k][j]);
17 }

 

posted @ 2014-02-19 08:33  ~~Snail~~  阅读(139)  评论(0编辑  收藏  举报