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;