您的位置:首页 > 其它

七月23 ACM集训——最小生成树

2014-07-23 20:36 337 查看
prim算法模板

int prim(int x)
{
int i,j,sum=0,min=M,k;

memset(vit,0,sizeof(vit));
memset(dis,0,sizeof(dis));
for(i=1;i<=m;i++)
dis[i]=p[x][i];
dis[x]=0;
vit[x]=1;
for(i=1;i<m;i++)
{
min=M;
k=-1;
for(j=1;j<=m;j++)
{
if(!vit[j]&&dis[j]<min)
{
min=dis[j];
k=j;
}
}

if(k!=-1)
{
vit[k]=1;
sum+=dis[k];
for(j=1;j<=m;j++)
{
if(!vit[j]&&dis[j]>p[k][j])
dis[j]=p[k][j];
}
}
}
return sum;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: