畅通工程
Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
Description某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个城镇的编号。为简单起见,城镇从1到N编号。
注意:两个城市之间可以有多条道路相通,也就是说
3 3
1 2
1 2
2 1
这种输入也是合法的
当N为0时,输入结束,该用例不被处理。 Output对每个测试用例,在1行里输出最少还需要建设的道路数目。 Sample Input4 2 1 3 4 3 3 3 1 2 1 3 2 3 5 2 1 2 3 5 999 0 0Sample Output1 0 2 998
HintHint  Huge input, scanf is recommended. 水题,裸并查集,没什么好说,AC代码:

#include"iostream"
#include"cstdio"
#include"algorithm"
#include"cmath"
#include"cstring"
using namespace std;int pe[100000];
int num;int find(int x) {return pe[x]==x?x:(pe[x]=find(pe[x]));
}int main() {int n,m,a,b;while(~scanf("%d",&n)) {if(!n)break;scanf("%d",&m); num=n-1;for(int i=1; i<=n; i++) {pe[i]=i;}for(int i=0; i<m; i++) {scanf("%d%d",&a,&b);int root1=find(pe[a]);int root2=find(pe[b]);if(root1!=root2) {pe[root2]=root1;num--; }}printf("%d\n",num);}return 0;
}

  

转载于:https://www.cnblogs.com/HDMaxfun/p/5700725.html

ACM: 畅通工程-并查集-解题报告相关推荐

  1. 畅通工程(并查集模版题)

    题意: 多组输入N,M,当N为0退出人输入,N是道路数目,M是村庄总数,随后N行,每行输入三个数两个村庄的编号,以及连接这两个村庄的费用. 对每一组数据输出畅通工程的最低费用,如果不能畅通就输出&qu ...

  2. PIPI OJ 1118: 继续畅通工程(并查集+最小生成树)

    菜鸟生成记(18) 1118: 继续畅通工程 又双叒叕是最短路径的水题;不同的是,在构造最小生成树前,题目中已经规定一些已经建好了(这些边已经在生成树里面了);从未建好的边中选择最优边加入生成树;直到 ...

  3. NYOJ 608 畅通工程 并查集

    畅通工程 时间限制:2000 ms  |  内存限制:65535 KB 难度:3 描述 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程&qu ...

  4. 畅通工程---并查集

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

  5. codevs 2832 6个朋友 并查集 解题报告

    题目描述 Description 有这么一种说法:认识6个人,你就认识全世界的人. Aiden现在有一张关系图,上面记载了N个人之间相互认识的情况.Aiden想知道,他能否只认识6个人就能间接认识这N ...

  6. ACM-NEFUOJ-P210畅通工程并查集

    题目:我已经明示到这个程度了你还不用并查集? #include<bits/stdc++.h>using namespace std;const int MAXN=1010;int F[MA ...

  7. 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)

    题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...

  8. HDU 1232 -畅通工程(并查集)

    题目 http://acm.hdu.edu.cn/showproblem.php?pid=1232 代码 #include <iostream> #include <algorith ...

  9. 2014 ACM/ICPC 北京赛区网络赛解题报告汇总

    首页 算法竞赛» 信息聚合 ONLINE JUDGE 书刊杂志 BLOG» 新闻故事» 招聘信息» 投稿须知 2014 ACM/ICPC 北京赛区网络赛解题报告汇总 九月 21st, 2014 | P ...

最新文章

  1. java 编译器获得型号_关于编译器构造:如何找到已编译类的目标Java版本?
  2. Websphere 7小版本不同导致的JAXP兼容性问题
  3. 目标检测与转自背景减除
  4. 网络编程中的常见陷阱之 0x十六进制数(C++字面值常量)
  5. Spring : 依赖注入(IoC)控制反转
  6. 砂.随笔.九.12.14公司停电,冒雨修爪爪
  7. Postfix无法在centos上启动
  8. RHEL7体验KVM虚拟机
  9. 桂林老兵php,中间件解析漏洞
  10. 高一下学期计算机考试知识点,高中数学知识点总结
  11. MySQL的开发技巧2
  12. python列表相加
  13. pd调节规律_PID调节规律总结
  14. 科斯定理-载罗纳德·科斯
  15. 用户计算机名更改为英文,win10将用户名改为英文怎么改_win10如何更改用户名为英文图文教程-系统城...
  16. 第十届极客大挑战——复现未解决的web和RE
  17. discuz2.5支持php5.6,discuz在后台 应用 应用中心 安装一个dz 2.5模板 显示超时无法安装模板...
  18. 世界著名电影特效公司
  19. tidb和tbase的聚合函数算法
  20. COMSOL案例学习(3):保温杯中的温度分布(含调用.m文件提示“matlab function is not found.“解决办法)

热门文章

  1. CVE-2017-0004相关lsass拒绝服务漏洞杂谈
  2. 使用ajaxfileupload.js实现文件上传
  3. 235 Lowest Common Ancestor of a Binary Search Tree
  4. Android 获取SD卡的图片资源
  5. java 时间与字符串之间的转换
  6. LVS原理详解以及部署
  7. leetcode算法题--合并两个有序链表
  8. ionic ajax 跨域,解决 ionic 中的 CORS(跨域) 问题
  9. Picasso-源码解析(三)
  10. 初学laravel migrate常见错误解决