#include<bits/stdc++.h>
using namespace std;
int dis[110][110],path[110][110];
//初始化为邻接矩阵 //初始化为-1
void print(int st,int ed)
{
if(path[st][ed]>=0)
print(st,path[st][ed]);
printf("->%d",ed);
}
void floyd()
{
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(dis[i][j]>dis[i][k]+dis[k][j])
{
dis[i][j]=dis[i][k]+dis[k][j]; //距离矩阵
path[i][j]=k; //路径矩阵
}
}
int main()
{
int st,ed;
cin>>st>>ed;
printf("%d",st); //打印从st到ed最短路径
print(st,ed);
}
Floyd-多源最短路径 路径打印
最新推荐文章于 2023-02-27 22:25:49 发布