#include <bits/stdc++.h>
#define INF 9999
#define V 4
using namespace std;
void floydWarshall(int graph[V][V])
{
int res[V][V];
int i,j,k;
for(i = 0; i < V; i++)
for(j = 0; j < V; j++)
res[i][j] = graph[i][j];
for(i = 0; i < V; i++)
{
for(j = 0; j < V; j++)
{
for(k = 0; k < V; k++)
{
if(res[j][i] + res[i][k] < res[j][k])
res[j][k] = res[j][i]+res[i][k];
}
}
}
for (i = 0; i < V; i++)
{
for (j = 0; j < V; j++)
{
if (res[i][j] == INF)
cout << "INF";
else
cout << res[i][j];
}
cout << endl;
}
}
int main(void)
{
int graph[V][V] = {
{0, 5, INF, 10},
{INF, 0, 3, INF},
{INF, INF, 0, 1},
{INF, INF, INF, 0}
};
floydWarshall(graph);
return 0;
}
Floyd Warshall
猜你喜欢
转载自blog.csdn.net/qq_36607792/article/details/81637355
今日推荐
周排行