nyoj 434 Jungle Roads

来源:互联网 发布:6g网络什么时候出来 编辑:程序博客网 时间:2024/06/05 21:57

http://acm.nyist.net/JudgeOnline/problem.php?pid=434

比简单的一道最小生成树模板题,关键点在于建图时,数据读写格式的处理,由于没处理好,re了无数次哭

#include<stdio.h>#include<string.h>#define MAX 1<<28int map[40][40];int n;int prime(){bool flag[40];int dis[40],i,sum=0,j;for(i=1;i<=n;i++){flag[i]=0;     dis[i]=map[1][i];}flag[1]=1;for(i=1;i<n;i++) {int k=1,min;min=MAX;for(j=1;j<=n;j++){if(!flag[j]&&dis[j]<min){min=dis[j];k=j;}}sum+=dis[k];flag[k]=1;for(j=1;j<=n;j++){if(!flag[j]&&dis[j]>map[k][j])dis[j]=map[k][j];}}return sum;}int main(){int i,m,c;char a[2],b[2];while(~scanf("%d",&n),n){memset(map,9999,sizeof(map));for(i=1;i<n;i++){scanf("%s%d",a,&m);//getchar();while(m--){scanf("%s%d",b,&c);//getchar();if(map[a[0]-64][b[0]-64])map[a[0]-64][b[0]-64]=map[b[0]-64][a[0]-64]=map[a[0]-64][b[0]-64]>c?c:map[a[0]-64][b[0]-64];}   }printf("%d\n",prime());}return 0;}