还是畅通工程

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 16550    Accepted Submission(s): 7450

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
Sample Output
3 5

Hint

Hint

Huge input, scanf is recommended.

Source
浙大计算机研究生复试上机考试-2006年
Recommend
JGShining

最简单的最小生成树。可以用普里姆算法或克鲁斯卡尔算法解决。

一年多没碰图论算法了,今天凭回忆一次AC,还好。算是恢复练习吧。

题目说不让用cin。经测试cin不会TLE。

代码略乱,见谅

#include <iostream>
using namespace std;int a[110][110],b[110],c[110],n,i,j,j1,k,l;
int main(int argc, char *argv[])
{std::ios::sync_with_stdio(false);cin>>n;while(n!=0){memset(a,0,sizeof(a));memset(c,0,sizeof(c));for(l=1;l<=(n*(n-1)/2);++l){cin>>i>>j>>k;a[i][j]=k; a[j][i]=k;}  for(i=1;i<=n;++i) b[i]=a[1][i];l=n-1; k=0; c[1]=1;while(l>0){j=-1;for(i=2;i<=n;++i)if((!c[i])&&((j<0)||(j>b[i]))){j=b[i]; j1=i;}k+=j; c[j1]=1;for(i=1;i<=n;++i)b[i]=a[j1][i]<b[i]?a[j1][i]:b[i];--l;}cout<<k<<endl;cin>>n;}return 0;
}

kdwycz的网站:  http://kdwycz.com/

kdwyz的刷题空间:http://blog.csdn.net/kdwycz

HDOJ P1233 还是畅通工程相关推荐

  1. Kruskal HDOJ 1233 还是畅通工程

    题目传送门 1 /* 2 最小生成树之kruskal算法--并查集(数据结构)实现 3 建立一个结构体,记录两点和它们的距离,依照距离升序排序 4 不连通就累加距离,即为最小生成树的长度 5 */ 6 ...

  2. HDOJ 1233 还是畅通工程

    实在伤心,一口气A了三个畅通工程,太简单的原因把.这个畅通工程求的是最小的公路长度,就是最小生成树,点太少无向图,prim就好了. #include<stdio.h> #include&l ...

  3. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

  4. HDOJ 1874 HDU 1874 畅通工程续 ACM 1874 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址:          http://acm.hdu.edu.cn/showproblem.php?pid=1874 ...

  5. HDOJ 1875 HDU 1875 畅通工程再续 ACM 1875 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址:          http://acm.hdu.edu.cn/showproblem.php?pid=1875 ...

  6. HDOJ 1875 畅通工程再续

    这个畅通工程还是一交就过,看来畅通工程用来入门是最好了,以后拿这些来挂就不会那么打击人了,天天开心.这里求最小生成树之前要自己构图,很简单就是求出点到点之间的距离,如果距离大于1000和小于10都视作 ...

  7. HDOJ:1863畅通工程

    题目大意:省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可能建设公路 ...

  8. hdoj 还是畅通工程

    还是畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  9. HDOJ 畅通工程 1232(并查集入门)

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

最新文章

  1. 一分钟带你了解什么是“复杂度” 算法上的O(1)、O(n)、O(logn) 这些都是什么❓❓
  2. 妈呀,终于搞定VIM的复制粘贴问题了!
  3. php任何读取外键数据,在表中设置外键实现的是哪一类数据完整性
  4. kafka读写 java_java-Kafka流:从应用程序的每个实例中的所有分区读取
  5. 文献记录(part91)--A boundary method for outlier detection based on support vector domain description
  6. 修改小程序radio组件的默认样式
  7. 能伸能屈的拼音及解释
  8. iOS中 Bugly iOS 符号表手动配置详细教程 韩俊强的博客
  9. 多元函数法曲率和主曲率的几何解释
  10. Linux命令详解词典
  11. STM32的串口协议
  12. python提取二值栅格上边界和中线
  13. Vue+Springboot项目练手(主要是后端)
  14. uniapp中登录注册页面以视频为背景
  15. JS微信打飞机游戏(一)
  16. 实现变色TextView及ViewPager指示器(原来可以这么简单)
  17. 系统开发视角下的诊断 ———— 动力系统(P)诊断故障6
  18. Servlet - Sessions and Cookies
  19. 马来西亚理科大学计算机专业雅思,【马来西亚理科大学本科雅思成绩要求】 - 马来西亚留学联盟...
  20. 新手python中Django环境配置

热门文章

  1. 成绩斐然!MSR165数据记录仪可测量一级方程式赛车的重心力
  2. 天道酬勤——永不言弃
  3. V-REP 反向运动学教程
  4. 写英文论文时,数据集应如何翻译?Dataset 或者 Data set,看完你就知道!
  5. 记一次解析旧版本Excel文件
  6. java服务端接入有赞,实现后台登陆有赞商城的需求
  7. 利用计算机分析信号,计算机技术在铁路信号中的应用
  8. power oj 2783: 上决╇ф的精确打击问题
  9. GoAhead1 - 基本介绍
  10. C语言:浅谈各种复杂的声明