Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
一次AC 水过 prim#include<stdio.h> #define INT_MAX 0x7fffffff int v[51][51]; int p,r; int min,max; void prim(int ve) { int i,j,k; int d[51]; int f[51]; for(i=1;i<=p;i++) { d[i]=v[ve][i]; f[i]=0; } f[ve]=1; for(i=1;i<p;i++) { min=INT_MAX; for(j=1;j<=p;j++) { if(!f[j]&&d[j]<min) { min=d[j]; k=j; } } f[k]=1; if(min<INT_MAX) max+=min; for(j=1;j<=p;j++) { if(!f[j]&&v[k][j]<INT_MAX&&v[k][j]<d[j]) d[j]=v[k][j]; } } } int main (void) { int i,j; int a,b,w; while(scanf("%d",&p),p!=0) { max=0; scanf("%d",&r); for(i=1;i<=p;i++) for(j=1;j<=p;j++) v[i][j]=INT_MAX; for(i=1;i<=r;i++) { scanf("%d %d %d",&a,&b,&w); if(v[a][b]>w) v[a][b]=v[b][a]=w; } prim(1); printf("%d\n",max); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator