prim

来源:互联网 发布:上海市行知小学照片 编辑:程序博客网 时间:2024/05/08 15:39
  1. //纯属贴模板
  2.  #define N 1001
  3. #define inf (1<<31)
  4. int mat[N][N],pre[N],d[N];
  5. int prim(int n)
  6. {
  7.   int i,j,k,res=0;bool v[N];
  8.  for(i=0;i<n;i++) d[i]=inf,pre[i]=-1,v[i]=false;
  9.  for(i=d[0]=0;i<n;i++)
  10.   {
  11.     for(j=0,k=-1;j<n;j++) if(!v[j]&&{k==-1||d[j]<d[k]}) k=j;
  12.    for(j=0,v[k]=true,res+=d[k];j<n;j++) if(!v[j]&&mat[k][j]<d[j]) d[j]=mat[pre[j]=k][j];
  13.   }
  14. return res;
  15. }

原创粉丝点击