首先是时间复杂度为O(n^3)的多源最短路径算法Floyd.
详细算法原理请参照https://blog.csdn.net/mgsky1/article/details/77998422
#include <iostream>
#include<iomanip>
#include<windows.h>
using namespace std;
/*多源最短路径问题floyd算法*/
void print(int **path, int &v1, int v2);
void display(int **path);
int n;
int main()
{
cout << "please input the number of graph." << endl;
cin >> n;
int **flag=new int *[n], **weight=new int *[n];
for (int i = 0; i < n; ++i)
{
flag[i] = new int[n];
weight[i] = new int[n];
cout << "please input weight[" << i << "]:";
for (int j = 0; j < n; ++j)
{
flag[i][j] = -1;
cin >> weight[i][j];
}
}
for (int k = 0; k < n;++k)
for (int i = 0; i < n;++i)
for (int j = 0; j < n;++