1301-Jungle Roads
来源:互联网 发布:浙江基层网络直报 编辑:程序博客网 时间:2024/05/21 15:03
(http://acm.hdu.edu.cn/showproblem.php?pid=1301)
#include<iostream>#include<string>#include<algorithm>using namespace std ;const int MAX_VETEXT_NUM = 26;//最大的顶点数const int MAX_EDGE_NUM = 75;//最大的边数struct Edge{ int begin;//起点 int end;//结点 double cost;//边的权值};Edge edge[MAX_EDGE_NUM];//边集合double sum=0;int ConnectedList[MAX_VETEXT_NUM];//连通分量静态链表int nEdges; //边的数目int nVetexs; //顶点数目int Find( int ConnectedList[],int v){//若v所在的连通分量静态链表为空,则返回参数v,否则返回其所在链表的表尾元素 while(ConnectedList[v]>0) v=ConnectedList[v]; return v ;}bool cmp(const Edge&a,const Edge&b){//根据边权值从小到大排序 return a.cost<b.cost ;}void Kruscal(){ int i,j ;//i和j分别为已有生成树中边和顶点数目 int v1,v2; //初始化连通分量静态链表为空 for (i=0;i<nVetexs;i++) ConnectedList[i]=0; i=0,j=0; while(j<nVetexs-1&&i<nEdges) { v1=Find(ConnectedList,edge[i].begin); v2=Find(ConnectedList,edge[i].end); if(v1!=v2) { //起点和终点不在同一个连通分量 sum+=edge[i].cost; ConnectedList[v1]=v2 //加入连通分量链表中 ++j;//最小生成树边数加1 } ++i;//处理完一条边 }}int main(){ int i,j; int num; double cost; char chStart,chEnd; while (cin>>nVetexs&&nVetexs!=0) { sum=0; nEdges=0; for ( i=0;i<nVetexs-1;i++) { cin>>chStart>>num; for(j=0;j<num;j++) { //建立连通分量静态链表 cin>>chEnd>>cost ; edge[nEdges].begin=chStart-'A'; edge[nEdges].end=chEnd-'A'; edge[nEdges].cost=cost; nEdges++; } } sort(edge,edge+nEdges,cmp); Kruscal(); cout<<sum<<endl; } return 0 ; }
0 0
- HDOJ 1301 Jungle Roads
- hdu 1301 Jungle Roads
- hdoj 1301 Jungle Roads
- hdu 1301 Jungle Roads
- poj 1301 Jungle Roads
- hdu 1301 Jungle Roads
- hdu 1301 Jungle Roads
- hdu 1301 Jungle Roads
- Hdu 1301 - Jungle Roads
- HDU 1301 Jungle Roads
- HDU 1301 Jungle Roads
- HDU 1301 Jungle Roads
- hdu 1301 Jungle Roads
- hdu 1301 Jungle Roads
- HDU 1301 Jungle Roads
- HDU 1301 Jungle Roads
- hdu 1301 Jungle Roads
- HDOJ--1301--Jungle Roads
- leetcode 206. Reverse Linked List
- Mycat源码篇 : 总览
- 第5周项目2 C语言简单选择结构程序(1)
- SharePoint Framework 开发工具和库
- POJ3420 Quad Tiling(模板+矩阵快速幂)
- 1301-Jungle Roads
- 数字与字母混合升降序
- 相位偏移的数据采集(原语调用)
- 1301-Jungle Roads
- java深拷贝和浅拷贝
- codeforces679C Bear and Square Grid(二维滑块经典题) ★
- 洛克菲勒书信--现在就去做
- java初始化构造函数调用顺序
- Linux tcpdump命令详解