hdu1301 Jungle Roads(kruskal 备忘)
2012-08-15 15:35
369 查看
#include<iostream> #include<cstring> #include<algorithm> using namespace std; int f[102]; struct edge { int u,v; int w; }e[102]; bool cmp(edge e1,edge e2) { return e1.w<e2.w; } int find(int x) { if(f[x]==-1) return x; return find(f[x]); } int kruskal(int n,int ne) { sort(e,e+ne,cmp); int x,y,cost(0); for(int i=0;i<ne;i++) { x=find(e[i].u); y=find(e[i].v); if(x!=y) { f[y]=x; cost+=e[i].w; } } return cost; } int main() { int n; while(cin>>n,n) { int m=n-1,cnt=0,k; char u,v; memset(f,-1,sizeof(f)); while(m--) { cin>>u>>k; while(k--) { e[cnt].u=u-'A'; cin>>v>>e[cnt].w; e[cnt].v=v-'A'; cnt++; } } cout<<kruskal(n,cnt)<<endl; } return 0; }
相关文章推荐
- HDU - 1301 Jungle Roads(Kruskal)
- HDU 1301--Jungle Roads 【Kruskal】
- HDU 1301 Jungle Roads (最小生成树)kruskal
- hdu 1301 Jungle Roads(最小生成树kruskal)
- HDU 1301 Jungle Roads(最小生成树Kruskal)
- HDU 1301 Jungle Roads (Kruskal求最小生成树)
- hdu 1301 Jungle Roads(最小生成树Kruskal)
- hdu 1301 Jungle Roads 简单的kruskal
- hdu 1301 Jungle Roads 一个很水的题 AC率也可以知道了 但是题目很难理解啊 英语渣o(╯□╰)oKruskal算法
- HDU 1301 Jungle Roads
- poj1251 hdu 1301 Jungle Roads
- HDU 1301 Jungle Roads
- Jungle Roads_hdu_1301(prim算法)
- HDU 1301 Jungle Roads 最小生成树K算法
- hdu 1301 Jungle Roads (最小生成树)
- HDU 1301 Jungle Roads
- HDU 1301 Jungle Roads (最小生成树)
- hdu 1301(最小生成树kruskal)
- hdu 1301 Jungle Roads
- Hdu 1301 - Jungle Roads