hdu 1213 How Many Tables 并查集模板题+路径压缩
2016-04-11 17:52
513 查看
题目链接
题意:n个人,m对人之间是朋友,求有几个朋友圈。
经典并查集题,给出了路径压缩的模板。
题意:n个人,m对人之间是朋友,求有几个朋友圈。
经典并查集题,给出了路径压缩的模板。
#include <iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std; int pre[1100]; int findset(int v) { int t1,t2=v; while(v!=pre[v]) v=pre[v]; while(t2!=pre[t2]) { t1=pre[t2]; pre[t2]=v; t2=t1; } return v; } void unions(int x,int y) { int t1=findset(x); int t2=findset(y); if(t1!=t2) pre[t1]=t2; } int main() { int T,n,m; cin>>T; while(T--) { cin>>n>>m; for(int i=1;i<=n;i++) pre[i]=i; for(int i=0;i<m;i++) { int u,v; scanf("%d%d",&u,&v); unions(u,v); } int ans=0; for(int i=1;i<=n;i++) if(pre[i]==i) ans++; cout<<ans<<endl; } }
相关文章推荐
- 【OpenCV学习笔记 001】 VS2013+OpenCV2.4.9开发环境的搭建
- hadoop启动没有nodemanager
- MPChartAndroid使用讲解
- 关于多线程简单原理
- Java synchronized详解
- 微信项目
- MongoDB分片及副本集配置说明
- ArrayList实现源码分析
- HTML 动态云启动画面
- Apple Pay 在线远程支付
- BIEE12C-部署rpd
- 使用java技术将Excel表格内容导入mysql数据库
- opencv中Mat与IplImage,CVMat类型之间转换
- windows多线程系列006_WaitForMultipleObjects详解
- Java匿名内部类怎样创建,有何作用和优点,创建线程怎样使用匿名内部类
- Android—ZXing二维码扫描遇到的问题
- [转]深入详解javascript之delete操作符
- hudson部署过程
- LeetCode 338 -Counting Bits ( JAVA )
- windows多线程系列004_利用关键代码段实现线程同步