模板floyed


// 顶点从1 开始 floyed
void floyed()
{
int i,j,k;
for(k=1;k<=n;k++)
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(g[i][j]>g[i][k]+g[k][j])
g[i][j]=g[i][k]+g[k][j] ;
}
}

 

// 顶点从0 开始 floyed
void floyed()
{
int i,j,k;
for(k=0;k<n;k++)
{
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i][j]>a[i][k]+a[k][j])
a[i][j]=a[i][k]+a[k][j] ;
}
}

posted @ 2014-08-11 21:12  2014acm  阅读(106)  评论(0编辑  收藏  举报