安科 OJ 1190 连接电脑 (并查集)
时间限制:1 s
空间限制:128 M
传送门:https://oj.ahstu.cc/JudgeOnline/problem.php?id=1190
题目描述
输入
(0 < N <= 200,0 <= M <= 10000,0 < A,B <= N 。) N=0和M=0为输入结束,不需要处理。
输出
样例输入
4 2 1 2 2 3 4 0 1 0 0 0
样例输出
1 3 0
思路:用并查集存储,若是连在一起的电脑就存到一个集合里面,最后判断下有几个集合,答案就是集合个数减一。在连接集合的时候设左边为父结点。
代码:
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 int fina(int num); 7 int n, m, a[2010]; 8 9 int main() 10 { 11 cin >> n >> m; 12 13 while (n || m) 14 { 15 for (int i = 1; i <= n; i ++ ) 16 a[i] = i; 17 int x, y; 18 while (m -- ) 19 { 20 cin >> x >> y; 21 if (fina(x) != fina(y)) 22 { 23 a[fina(y)] = fina(x); 24 } 25 } 26 int ans = 0; 27 for (int i = 1; i <= n; i ++ ) 28 if (a[i] == i) ans ++ ; 29 30 cout << ans - 1 << endl; 31 cin >> n >> m; 33 memset(a,0,sizeof(a)); 34 } 35 return 0; 36 } 37 38 int fina(int num) 39 { 40 if (num == a[num]) return num; 41 else 42 { 43 a[num] = fina(a[num]); 44 return a[num]; 45 } 46 }
PS:应该是安科 OJ 数据的问题,题目说的 n <= 200,但是数组开到210就会越界,开到2010才行(当时debug了好久,555~)
转载于:https://www.cnblogs.com/chuyds/p/11241019.html
安科 OJ 1190 连接电脑 (并查集)相关推荐
- leetcode684. 冗余连接(并查集)
在本问题中, 树指的是一个连通且无环的无向图. 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, -, N) 的树及一条附加的边构成.附加的边的两个顶点包含在1到N中间,这条附加的边不属于 ...
- LeetCode 684. 冗余连接(并查集)
1. 题目 在本问题中, 树指的是一个连通且无环的无向图. 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, -, N) 的树及一条附加的边构成.附加的边的两个顶点包含在1到N中间,这条附 ...
- leetcode 684. Redundant Connection | 684. 冗余连接(并查集)
题目 https://leetcode.com/problems/redundant-connection/ 题解 并查集问题 1)有若干个样本a.b.c.d-类型假设是V 2)在并查集中一开始认为每 ...
- 安捷伦示波器连接电脑
调试或者测试电路的过程中,示波器是比不可少的东西,且常需要保存示波器的波形,可以通过一条网线把示波器与电脑连接起来,这样就可以在电脑上方便的保存波形图,怎么实现示波器和电脑连接,我们以安捷伦示波器DS ...
- 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...
- LeetCode 685. 冗余连接 II(并查集)
1. 题目 在本问题中,有根树指满足以下条件的有向图.该树只有一个根节点,所有其他节点都是该根节点的后继. 每一个节点只有一个父节点,除了根节点没有父节点. 输入一个有向图,该图由一个有着N个节点 ( ...
- leetcode 721. Accounts Merge | 721. 账户合并(HashMap版并查集)
题目 https://leetcode.com/problems/accounts-merge/ 题解 HashMap 版的并查集.参考了:leetcode 684. Redundant Connec ...
- LeetCode 1697. 检查边长度限制的路径是否存在(排序+并查集)
文章目录 1. 题目 2. 解题 1. 题目 给你一个 n 个点组成的无向图边集 edgeList ,其中 edgeList[i] = [ui, vi, disi] 表示点 ui 和点 vi 之间有一 ...
- LeetCode 886. 可能的二分法(着色DFS/BFS/拓展并查集)
文章目录 1. 题目 2. 解题 2.1 DFS 2.2 BFS 2.3 并查集 1. 题目 给定一组 N 人(编号为 1, 2, -, N), 我们想把每个人分进任意大小的两组. 每个人都可能不喜欢 ...
最新文章
- 在RedHat上安装gcc,java 和 eclipse-rcp
- python pip gpl_一文了解Python的pip工具
- mysql用in报错_Mysql子查询IN中使用LIMIT
- python 语音识别机器人控制系统_python人脸识别+语音识别 的监控系统
- 大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Kafka 消费者
- iOS时间转换相关整理(附送试用期逻辑处理)
- 使用java来进行分词处理
- 计算机教师招聘板书设计,教师编制考试:信息技术丨《WORD表格制作》教案设计...
- 超轻量级Web安全漏洞扫描工具Netsparker使用教程介绍
- linux降低交叉编译器版本,嵌入式ARM+Linux 多個不同版本的交叉編譯器的切換方法...
- 2021年度盘点|民宿发展"春水涌动"
- java绘制图形_java怎么绘制简单图形
- 解决QQ群文件未通过安全检测无法下载问题
- Unity导入fbx模型贴图不显示的问题
- 华为云物联网平台的微信小程序开发
- 封装好的散点图拟合八大函数回归模型(逆、幂函、对数、S、复合、生长、指数 、线性函数,)
- mysql修改初始密码/ 重置默认密码 You must reset your password using ALTER USER statement
- 计算机的启动及关闭方法,如何关闭开机启动项
- maven 系列 02 - packing 类型
- 激情个P—leo看赢在中国第三季(2)
热门文章
- 深入探究Python中的字典容器
- 2018年第九届蓝桥杯C/C++ A组国赛 —— 第二题:阅兵方阵
- 《信息学奥赛一本通》高精除以高精,求它们的商和余数。
- ubuntu下超级用户和普通用户
- 【Qt】简单QT文本编辑器
- 【Linux系统编程】互斥锁
- 【Linux】一步一步学Linux——groupdel命令(88)
- 改变窗口背景_办公软件操作技巧063:如何设置ppt母版背景
- 凡子谷机器人创客教育_【活动纪实】机器人创客教育课堂——液压升降台
- mysql error 1148_MYSQL入坑第一弹--------ERROR 1148 (42000)ERROR 1290 (HY000)