最小生成树之PRIM算法

来源:互联网 发布:网络传销平台 编辑:程序博客网 时间:2024/05/03 13:00
#include<stdio.h>#include<stdlib.h>const int maxn=110,inf=1000000000;int a[maxn][maxn],d[maxn],p[maxn];int main(){int i,j,k,m,n,ans;while(scanf("%d",&n)!=EOF){ans=0;for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;for(i=1;i<=n;i++){d[i]=inf;p[i]=0;}for(i=1;i<=n;i++)for(j=1;j<=n;j++)scanf("%d",&a[i][j]);d[1]=0;int min;for(i=1;i<=n;i++){min=inf;for(j=1;j<=n;j++)if(!p[j] && d[j]<min){k=j;min=d[j];}p[k]=1;ans+=d[k];for(j=1;j<=n;j++)if(!p[j] && d[j]>a[j][k])d[j]=a[j][k];}printf("%d\n",ans);}system("pause");return 0;}


1 0
原创粉丝点击