还是畅通工程1233
/*
杭电2011和2012级同学如何加入ACM集训队? 微软招聘信息(主要针对已经有工作经验的)
|
还是畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 16025 Accepted Submission(s): 7250
Problem Description
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。
Input
测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。为简单起见,村庄从1到N编号。 当N为0时,输入结束,该用例不被处理。
Output
对每个测试用例,在1行里输出最小的公路总长度。
Sample Input
3 1 2 1 1 3 2 2 3 4 4 1 2 1 1 3 4 1 4 1 2 3 3 2 4 2 3 4 5 0
|
*/
#include<iostream>
using namespace std;
#define INF 0x3f3f3ff
const int MAX_V_NUM=105;
int Edges[MAX_V_NUM][MAX_V_NUM];
struct Node{
int adjvex;//存储该边依附在U中的顶点
int lowcost;//边的权值,访问标记
}closedge[MAX_V_NUM];
int prim(int u,int n)
{
int i,j,k,min,sum=0;
for(i=1;i<=n;i++)
{
closedge[i].adjvex=u;
closedge[i].lowcost=Edges[u][i];
}
closedge[u].lowcost=-1;
for(i=1;i<n;i++)
{
min=INF;
for(j=1;j<=n;j++)
if(closedge[j].lowcost!=-1&&closedge[j].lowcost<min)
{
min=closedge[j].lowcost;
k=j;
}
//cout<<"("<<closedge[k].adjvex<<","<<k<<","<<min<<")"<<endl;
sum+=min;
closedge[k].lowcost=-1;
for(j=1;j<=n;j++)//修改其他顶点的最小边
{
if(Edges[k][j]!=0&&Edges[k][j]<closedge[j].lowcost)
{
closedge[j].adjvex=k;
closedge[j].lowcost=Edges[k][j];
}
}
}
cout<<sum<<endl;
return 0;
}
int main()
{
int n,i,j,u,v,w;
while(true)
{
cin>>n;
if(n==0)
break;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(i==j)
Edges[i][j]=0;
else
Edges[i][j]=INF;
}
for(i=1;i<=(n*(n-1))/2;i++)
{
cin>>u>>v>>w;
Edges[u][v]=Edges[v][u]=w;
}
prim(1,n);
}
return 0;
}
转载于:https://www.cnblogs.com/-wang-xin/archive/2012/11/27/2791158.html
还是畅通工程1233相关推荐
- Kruskal HDOJ 1233 还是畅通工程
题目传送门 1 /* 2 最小生成树之kruskal算法--并查集(数据结构)实现 3 建立一个结构体,记录两点和它们的距离,依照距离升序排序 4 不连通就累加距离,即为最小生成树的长度 5 */ 6 ...
- HDU 1233 还是畅通工程(最小生成树 Prim+Kruskal)
原题地址 http://acm.hdu.edu.cn/showproblem.php?pid=1233 题意:(最小生成树裸题)有N个村庄,给出村庄两两之间的距离,要求铺设公路,使得任何两个村庄间都可 ...
- 畅通工程 HDU - 1233
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可 ...
- 还是畅通工程(1233 并查集+kruskal)
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- HDOJ 1233 还是畅通工程
实在伤心,一口气A了三个畅通工程,太简单的原因把.这个畅通工程求的是最小的公路长度,就是最小生成树,点太少无向图,prim就好了. #include<stdio.h> #include&l ...
- hdu 1233 还是畅通工程 最小生成树(prim算法 + kruskal算法)
还是畅通工程 Time Limit: 4000/2 ...
- HDU 1233 还是畅通工程(最小生成树)
传送门 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- HDU 1233 - 还是畅通工程
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直 ...
- hdu 1879 继续畅通工程 最小生成树
继续畅通工程 Time Limit: 2000/ ...
最新文章
- android 8.0 intent,Android 8.0通知栏适配问题
- 文巾解题 810. 黑板异或游戏
- python修复不了_修复 Python version 2.6 required, which was not found in the registry.
- 常搓八个部位可以防衰老 - 健康程序员,至尚生活!
- 理解工作流系统参考模型
- MySQL数据库之互联网常用架构方案(全)
- Premiere无法导入webm格式视频的解决方法
- 【Proteus仿真】PCF8591 AD电压采集8X8点阵显示
- ping 端口是否开放(Mac、Linux、Windows系统)
- Ubuntu配置locale
- 山寨美图秀秀的美肤功能----实现过程
- PS知识点大总结(二)——通道蒙版与图形图标设计
- 你必须知道alexa排名的重要性
- 内网穿透的概念及解决方案
- 2022年全球市场火锅燃料总体规模、主要生产商、主要地区、产品和应用细分研究报告
- Spring IOC详解 以及 Bean生命周期详细过程 可以硬刚面试官的文章
- SSD固态硬盘的安装优化点点收集
- [STM32] Mac开发STM32之Makefile
- 【计算机网络课程设计】TCP协议包自动生成工具【蒙混过关版】
- java的一个简单小游戏
热门文章
- php成品网站安装,PHPweb成品网站安装环境要求和安装方法
- Java二十三种设计模式 之代理(proxy)
- 经验 | 在C++平台上部署PyTorch模型流程+踩坑实录
- 深度学习(五十三)对抗网络
- 标签传播(阅读笔记)
- hikari数据源配置类_SpringBoot多数据源配置详解
- angularjs上传文件到服务器,AngularJS:如何使用multipart表单实现简单的文件上传?...
- c# 计算空格宽度像素_分享计算机视觉之图像处理Python之opencv
- 系统集成项目管理工程师教程第二版
- 马斯克谈买比特币:当法币实际利率为负时 只有“傻子”才不放眼他处