hdu1232(简单并查集)
畅通工程
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 65048 Accepted Submission(s): 34771
注意:两个城市之间可以有多条道路相通,也就是说
3 3
1 2
1 2
2 1
这种输入也是合法的
当N为0时,输入结束,该用例不被处理。
Hint
Huge input, scanf is recommended.
解析:简单的并查集。有n个城市,m条路,假设完全没有路的情况,我们要修cnt=n-1条路,所以我们可以这样做:
输入的两个城市要是没有联通说明他们之间要建一条路,所以cnt--,有联通则说明不用修路,cnt不变。
代码:
#include<bits/stdc++.h>
using namespace std;int n,m,a,b,f[1005];
void init()
{for(int i=1; i<=n; i++){f[i]=i;}
}
int Find(int x)
{return f[x]==x?x:Find(f[x]);
}
int join(int a,int b)
{int fa=Find(a);int fb=Find(b);if(fa!=fb){f[fa]=fb;return 1;}return 0;
}
int main()
{while(~scanf("%d%d",&n,&m)&&n){init();int cnt=n-1;for(int i=0; i<m; i++){scanf("%d%d",&a,&b);if(join(a,b))cnt--;}printf("%d\n",cnt);}return 0;
}
hdu1232(简单并查集)相关推荐
- LA3644简单并查集判环
题意: 有n个化合物,每个化合物是两种元素组成,现在要装车,但是一旦车上的化合物中的某几个化合物组成这样一组关系,有n个化合物正好用了n中元素,那么就会爆炸,输入的顺序是装车的顺序,对于每 ...
- 简单并查集-加边的无向图
并查集小白入门 并查集最常用的两个函数就是find() 和 merge(): 代码如下所示: 这里最后统计边数时,可以用set来记录(依次遍历,将每个点的父节点加入集合,因为set默认去重,所以相等的 ...
- 1526:宗教信仰——简单并查集
描述 世界上有许多宗教,你感兴趣的是你学校里的同学信仰多少种宗教. 你的学校有n名学生(0 < n <= 50000),你不太可能询问每个人的宗教信仰,因为他们不太愿意透露.但是当你同时找 ...
- hdu1272(简单并查集)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- 4.11每日一题之亲戚(洛谷c++)|简单并查集
- poj 2524 Ubiquitous Religions (简单并查集)
题目链接:http://poj.org/problem?id=2524 There are so many different religions in the world today that it ...
- Hdu1232 畅通工程 【并查集】
http://acm.hdu.edu.cn/showproblem.php?pid=1232 题目大意:有几个集合,问最少需要连几根线才能把这些集合并为一个集合. N个集合的话就需要N-1条路就行了, ...
- CodeForces - 468B Two Sets(并查集+思维)
题目链接:点击查看 题目大意:现在给出两个集合A和B,再给出两个数a和b,现在规定在集合A中的数x必须满足x和a-x同时在集合a中,而在集合B中的数x也同样需要满足x和b-x同时在集合B中,现在给出一 ...
- [kuangbin带你飞]专题五 并查集 A - Wireless Network
A - Wireless Network 题目链接:https://vjudge.net/contest/66964#problem/A 题目: An earthquake takes place i ...
最新文章
- 彻底理解C#中值类型和引用类型的区别
- 程序员面试题精选100题(35)-两链表的第一个公共结点[数据结构]
- Java 转换流 简介
- 搭建阿里云ecs服务器(一:购买)
- ABAP enablement in Sublime Text
- 538.把二叉搜索树转换为累加树(结合自己的理解解释一下别人题解的递归部分)
- 计算机组成原理+左冬红,计算机组成原理与接口技术--基于MIPS架构(第2版高等学校电子信息类专业系列教材)...
- shell类型、添加PATH环境变量、.bashrc、.profile、/etc/profile、/etc/environment
- 【Python】如何在Python项目中使用相对路径正确的导入模块/包
- 程序开发中版本管理之命名规则及格式
- 【历史上的今天】 5 月 5 日:微软发布 Windows 98 SE ;领英上线;键盘布局的改革者
- 数学模型--预测模型、BP神经网络预测
- matlab 图例 显示几个,matlab图例拆分成两个多个分别显示
- 转载:C语言运算符优先级记忆口诀
- win10重置网络命令_Win10怎么重置网络 Win10重置网络命令使用方法
- 后端返回JSON数组转Tree树形格式,展示到element-ui的tree树形组件
- 基于java web 应用电子商务网站开发
- XAG聚合细节举例说明
- (Ⅲ)使用七牛云作为图床获取外链方式总结(已更换为使用PicGO+腾讯云COS)
- 软件相貌测试准确吗,相貌测试(史上最准的颜值测试)
热门文章
- JavaScript权威指南--客户端存储
- golang错误处理(实验楼)
- AppStore 上架注意事项及错误修改
- Prism4文档翻译(第四章 第二部分)
- [EF4] CompiledQuery预编译性能提升 + 数据载入之大彻大悟
- mysql 的自动启动 使用配置文件 /etc/my.cnf
- tf.stack()和tf.unstack()的用法
- [云炬创业学笔记]第二章决定成为创业者测试7
- 科大星云诗社动态20210512
- [云炬商业计划书阅读分享]无水洗车市场推广策划书