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 |
0ms,10点全过,cin和cout#include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=200; struct node{ int x,y,z; }; int n,a,b,f[N]; char ch,ch1; node data[N]; bool cmp(node a,node b){ return a.z<b.z; } int get1(int x){ if(f[x]!=x) f[x]=get1(f[x]); return f[x]; } int main(){ freopen("poj1251.in","r",stdin); while(1){ cin>>n; if(n==0) break; int ii=0; for(int i=1;i<n;++i){ cin>>ch>>a; for(int j=1;j<=a;++j){ cin>>ch1>>b; ii++; data[ii].x=ch-'A'+1; data[ii].y=ch1-'A'+1; data[ii].z=b; } } sort(data+1,data+ii+1,cmp); //for(int i=1;i<=ii;++i) printf("%d %d %d\n",data[i].x,data[i].y,data[i].z); //printf("\n"); for(int i=1;i<=n;++i) f[i]=i; int num=0; int num1=0; ii=1; while(num1!=n-1){ int x=get1(data[ii].x);int y=get1(data[ii].y); if(x==y){ ii++; continue; } else{ num1++; f[y]=x; num+=data[ii].z; ++ii; } } cout<<num<<endl; } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator