http://acm.hdu.edu.cn/showproblem.php?pid=1232

题目大意:有几个集合,问最少需要连几根线才能把这些集合并为一个集合。

N个集合的话就需要N-1条路就行了,简单并查集

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <cmath>
#include <queue>
using namespace std;
template <class T> void checkmin(T &t,T x) {if(x < t) t = x;}
template <class T> void checkmax(T &t,T x) {if(x > t) t = x;}
template <class T> void _checkmin(T &t,T x) {if(t==-1) t = x; if(x < t) t = x;}
template <class T> void _checkmax(T &t,T x) {if(t==-1) t = x; if(x > t) t = x;}
typedef pair <int,int> PII;
typedef pair <double,double> PDD;
typedef long long ll;
#define foreach(it,v) for(__typeof((v).begin()) it = (v).begin(); it != (v).end ; it ++)
const int N = 1111;
int f[N] , n , m;
bool vis[N];
int find(int x) {return x == f[x] ? x : f[x] = find(f[x]);
}
void Union(int x,int y) {int a = find(x) , b = find(y);f[a] = f[b] = f[x] = f[y] = min(a , b);
}
int main() {while(~scanf("%d",&n) && n) {scanf("%d",&m);for(int i=1;i<=n;i++) f[i] = i , vis[i] = 0;while(m--) {int x , y;scanf("%d%d",&x,&y);Union(x ,  y);}int ans = -1;for(int i=1;i<=n;i++) {int x = find(i);if(!vis[x]) {vis[x] = 1;ans ++;}}printf("%d\n" , ans);}return 0;
}

转载于:https://www.cnblogs.com/aiiYuu/archive/2013/03/30/2989960.html

Hdu1232 畅通工程 【并查集】相关推荐

  1. ACM: 畅通工程-并查集-解题报告

    畅通工程 Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description某省调查城镇交通状况, ...

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

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

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

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

  4. NYOJ 608 畅通工程 并查集

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

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

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

  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. HDU1232 畅通工程【并查集】

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

  10. HDU1232 畅通工程

    问题链接:HDU1232 畅通工程. 问题简述:输入n和m,分别表示城镇的数量和城镇间道路的数量.再输入m个数对s和d表示城镇s到d有道路连通.问还需要修多少条道路才能够把这些城镇都连通起来. 问题分 ...

最新文章

  1. idea配置echache.xml报错Cannot resolve file 'ehcache.xsd'
  2. C++友元函数和友元类(C++ friend)详解
  3. 22.网络提速(最短路)
  4. Ext JS高级程序设计
  5. 安卓4.4.4安装哪个微信版本_??微信又更新!暗黑模式可独立设置,新增群接龙固定入口...
  6. 音视频即时通讯开发功能介绍
  7. java ioutils_关于Java:无法解析符号“ IOUtils”
  8. 内核错误怎么解决?Win11系统内核错误解决方法
  9. 基于libmodbus库实现modbus TCP/RTU通信
  10. 系统变慢,如何进行排查处理?
  11. 数字IC后端工程师应该如何快速入门提高工作技能?
  12. Flutter 全能型选手GetX —— 状态管理
  13. 一张表格搞懂那些特殊的IP地址
  14. 【问题解决】ESP32报错:make: xtensa-esp32-elf-gcc: Command not found
  15. 物联网新零售项目 立可得2.0之“前世今生”
  16. elasticsearch之地理位置查询geo_shape
  17. 【计算几何】大自然的数学模型--分形几何
  18. 麦克风阵列技术 三 ( 声源定位 波束形成 去混响 麦克风阵列结构设计 声学结构确认流程)
  19. 2017年7月7日内蒙乌兰布统之旅
  20. 艾孜尔江_Office操作部分题库大全【干货】

热门文章

  1. w3m linux,Linux 终端浏览器 w3m
  2. linux asm 磁盘管理,asm磁盘管理篇
  3. linux虚拟用户创建目录权限不足,centos7的FTP服务vsftpd里建立虚拟用户不同目录分配不同权限...
  4. c语言条件编译的例子,C语言条件编译分析实例
  5. vb.net 判断是否为ip 正则_PHP实现IP白名单
  6. 【免费下载】“后红海”时代,独家揭秘当下大数据体系
  7. 开箱即用——用这个模板快速统筹企业车辆安排
  8. RDS PostgreSQL一键大版本升级技术解密
  9. 一文读懂云上用户如何灵活应用定制化网络服务
  10. 走近Quick Audience,了解消费者运营产品的发展和演变