void Floyd()
{
for(int k=1; k<=n; k++)//顶点从1到n
{
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(d[i][j]<inf&&d[k][j]<inf)//最短路防止inf相加溢出 数组初始化无穷大
{
d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
}
d[i][j]=d[i][j]||(d[i][k]&&d[k][j]);//传递闭包 数组初始化0
}
}
}
}
来源:https://blog.csdn.net/weixin_43983247/article/details/100822412