hdu 畅通工程
2015-11-08 14:01
246 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232
简单并查集,查找同集合,建连接路。
代码:
简单并查集,查找同集合,建连接路。
代码:
#include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> #include <iostream> #include <ctype.h> #include <iomanip> #include <queue> #include <stdlib.h> using namespace std; int f[1010]; int n,m; void init() { for(int i=0;i<=n;i++) f[i]=i; } int find(int x) { if(x==f[x]) return f[x]; f[x]=find(f[x]); return f[x]; } void Union(int x,int y) { int a=find(x); int b=find(y); if(a==b) return; f[a]=b; } int main() { int a,b,i,j; while(~scanf("%d %d",&n,&m)){ init(n); int p=0; if(n==0) break; for(i=0;i<m;i++){ scanf("%d %d",&a,&b); Union(a,b); } for(j=1;j<=n;j++){ if(j==f[j]) p++; } printf("%d\n",p-1); } }
相关文章推荐
- Mariadb 主从复制、双主复制、半同步复制、基于SSL复制
- 关于OpenCV中IplImage的char类型的ImageData需要进行强制类型转换为uchar的说明
- MySQL性能优化经验
- IOS线程操作(3)
- 工作阶段性总结
- VB.NET控制台程序获取程序运行路径
- Android实践项目汇报(一)
- 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
- 中等难度的通讯录.字典 动态分组法
- CSS-css与html的结合方式
- lightoj 1249 Positive Negative Sign (数学计算)
- php学习之旅:static变量与方法
- erlang监督者模式
- loadrunner实现浮点型数据转换成字符串
- 【2015-2016 ACM-ICPC, NEERC, Southern Subregional Contest I】【水题】Lottery 均分气球最小修改数
- 【C/C++学院】0826-文件重定向/键盘输入流/屏幕输出流/字符串输入输出/文件读写简单操作/字符文件读写二进制与文本差别/get与getline挖掘数据/二进制与文本差别/随机位置/多线程初级
- loadrunner通过字符串左右边界切割字符串
- 最全的Android 版本号与Level API对照表
- loadrunner以最后出现的字符串为分割符函数实现
- loadrunner实现字符串的替换