poj1251 Jungle Roads

来源:互联网 发布:淘宝返利多少 编辑:程序博客网 时间:2024/05/01 16:43

链接:http://poj.org/problem?id=1251

我是来套模板的%>_<%

#include<iostream>#define MAXN 400#define MAXROAD 30#define MAXCOST 105using namespace std;int roads[MAXN][MAXN];int lowcost[MAXROAD],closest[MAXROAD];int prim(int v,int n){  int i,j,mindis,minone;  int ans=0;  for(i=0;i<n;i++)  {    lowcost[i]=roads[v][i];closest[i]=v;  }  lowcost[v]=0;  for(i=0;i<n-1;i++)  {     mindis=MAXCOST; for(j=0;j<n;j++) if(lowcost[j]&&mindis>lowcost[j]) {   mindis=lowcost[j];   minone=j; }  ans+=lowcost[minone];  lowcost[minone]=0;  for(j=0;j<n;j++)  if(roads[j][minone]<lowcost[j])  {    lowcost[j]=roads[j][minone];closest[j]=minone;  }  }  return ans;}int main(){    int n,k,cost;int i,j;char a,b;while(cin>>n&&n){for(i=0;i<n;i++)for(j=0;j<n;j++)  roads[i][j]=MAXCOST;for(i=0;i<n-1;i++){  cin>>a>>k;  for(j=0;j<k;j++)  {cin>>b>>cost;roads[a-65][b-65]=cost;roads[b-65][a-65]=cost;  }}cout<<prim(0,n)<<endl;}    return 0;}


 

0 0
原创粉丝点击