主要思想
- 多源最短路径
- 向[i][j]中插入点k 如果可以更新 就更新
代码
const int max_n = 30;
const int INF = 0x3fffffff;
int n,G[max_n][max_n];
int d[max_n][max_n];//i到j的最短距离
void Floyd()
{
for (int k = 0; k < n; k++)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (d[i][k]!=INF&& d[k][j]!=INF&&d[i][j] > d[i][k] + d[k][j])
{
d[i][j] = d[i][k] + d[k][j];
}
}
}
}
}