标签:find ios algorithm namespace pre cout cin div ons
#include<iostream> #include<cstring> #include<algorithm> using namespace std; const int N=0x3f3f3f3f; int p[50]; struct edge{ int a,b,w; }e[100]; bool cmp(edge a,edge b) { return a.w<b.w; } int find(int x) { if(p[x]!=x) p[x]=find(p[x]); return p[x]; } int main() { int n; while(cin>>n&&n) { for(int i=0;i<30;i++) p[i]=i; int k=0; for(int i=0;i<n-1;i++) { char str1[3]; int m; cin>>str1>>m; for(int j=0;j<m;j++,k++) { char str2[3]; int t; cin>>str2>>t; e[k]={str1[0]-‘A‘,str2[0]-‘A‘,t}; } } sort(e,e+k,cmp); int ans=0; for(int i=0;i<k;i++) { int a=find(e[i].a); int b=find(e[i].b); int w=e[i].w; if(a!=b) { ans+=w; p[a]=b; } } cout<<ans<<endl; } }
标签:find ios algorithm namespace pre cout cin div ons
原文地址:https://www.cnblogs.com/QingyuYYYYY/p/12239815.html