poj1251 hdu 1301 Jungle Roads

来源:互联网 发布:淘宝商城专业托管 编辑:程序博客网 时间:2024/05/01 10:47
#include<iostream>#include<cstring>#include<cstdio>using namespace std;int dis[28][28];int cost[28];int n;int prim(int s){int i,j;for(i=0;i<n;i++)cost[i]=dis[s][i];cost[s]=-1;int sum=0;int mini;for(i=0;i<n-1;i++){mini=0x3f3f3f3f;for(j=0;j<n;j++)if(cost[j]<mini&&cost[j]!=-1){s=j;mini=cost[j];}sum+=mini;cost[s]=-1;for(j=0;j<n;j++)if(cost[j]>dis[s][j])cost[j]=dis[s][j];}return sum;}int main(){char vil[3],tovil[3];int k,isdis;int n1;while(scanf("%d",&n)&&n!=0){memset(dis,0x3f,sizeof(dis));n1=n-1;while(n1--){scanf("%s%d",vil,&k);while(k--){scanf("%s%d",tovil,&isdis);dis[vil[0]-'A'][tovil[0]-'A']=dis[tovil[0]-'A'][vil[0]-'A']=isdis;}}printf("%d\n",prim(vil[0]-'A'));}return 0;}

原创粉丝点击