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++)
{
d[i][j]=min(d[i][j],d[i][k]+d[k][j]);//小心两个inf相加溢出
d[i][j]=d[i][j]||(d[i][k]&&d[k][j]);//传递闭包 数组初始化0
}
}
}
}
Floyd模板(最短路+传递闭包)
最新推荐文章于 2020-04-14 21:36:39 发布