floyd

Floyd算法,求从任意节点i到任意节点j的最短路径

#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(false);cin.tie(0);

using namespace std;

typedef long long ll;
const int INF = 0x3f3f3f3f;
const int MAXN = 1e3 + 5;
//c[][]存储两点间最短路径,初始化为INF,c[i][i]=0
int c[MAXN][MAXN];

void floyd(int n) {
	for (int k = 0; k < n; k++)
		for (int i = 0; i < n; i++)
			for (int j = 0; j < n; j++)
				c[i][j] = min(c[i][j], c[i][k] + c[k][j]);
}
上一篇:王道论坛学习笔记之数据结构——图的应用(最短路径和关键路径)


下一篇:c++实现floyd算法