Problem Description:

“习大大”自担任国家主席以来大力反腐倡廉,各地打击贪腐力度也逐步加强。中国的这种令外国人不解的“风情”到底是何缘由呢?其实中国人都知道,所有的腐败问题基本上都源自官场上的“潜规则”,那“潜规则”又是源自什么呢?在中国盛行一句古语,“无关系不成方圆”,说的是中国是一个人情社会,纽带关系很强。一个人跟另一个人可能存在沾亲带故的某种“关系”,而所有通过这种“关系”的传递关系之后就产生了一个个的“关系网”。
假设现在存在n个人编号:1,2,3,...,n.当中存在k个一对一“关系”:(a,b),你能帮忙求出n个人当中存在几个“关系网”吗?
例如:当n=4,k=3(1--2 2--4 4--2)时,存在2个关系网:(1,2,4)和(3)。

Input:

输入包含多组测试数据。每一组测试第一行输入两个正整数n,m(n,m<=10000),表示n个人之中存在m个的“关系”;
下面m行每一行输入a,b(1 <= a,b <= n且a!=b)表示a和b之间存在关系,其中(a,b)可能重复出现。

Output:

对于每一组测试,输出n个人形成的“关系网”的个数,占一行。

Sample Input:

4 3
1 2
2 4
4 2
6 3
1 2
3 4
5 6

Sample Output:

2
3
解题思路:简单并查集,找出连通分量的个数即可,水过!
AC代码:
 #include<bits/stdc++.h>
using namespace std;
const int maxn=;
int n,m,a,b,num,fa[maxn];
void init(){
for(int i=;i<=n;++i)fa[i]=i;
}
int findt(int x){
int tmp,pir=x;
while(fa[pir]!=pir)pir=fa[pir];
while(x!=pir){tmp=fa[x];fa[x]=pir;x=tmp;}//路径压缩
return x;
}
void unite(int x,int y){
x=findt(x),y=findt(y);
if(x!=y)fa[x]=y;
}
int main(){
while(~scanf("%d%d",&n,&m)){
init();num=;
while(m--){scanf("%d%d",&a,&b);unite(a,b);}
for(int i=;i<=n;++i)
if(fa[i]==i)num++;
printf("%d\n",num);
}
return ;
}

ACM_“打老虎”的背后(简单并查集)的更多相关文章

  1. ACM_城市交通线(简单并查集)

    城市交通线 Time Limit: 2000/1000ms (Java/Others) Problem Description: A国有n座城市,编号为1~n,这n个城市之间没有任何交通线路,所以不同 ...

  2. POJ 2524 (简单并查集) Ubiquitous Religions

    题意:有编号为1到n的学生,然后有m组调查,每组调查中有a和b,表示该两个学生有同样的宗教信仰,问最多有多少种不同的宗教信仰 简单并查集 //#define LOCAL #include <io ...

  3. poj1611 简单并查集

    The Suspects Time Limit: 1000MS   Memory Limit: 20000K Total Submissions: 32781   Accepted: 15902 De ...

  4. 1213 How Many Tables(简单并查集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 简单并查集,统计单独成树的数量. 代码: #include <stdio.h> #i ...

  5. 【简单并查集】Farm Irrigation

    Farm Irrigation Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Tot ...

  6. poj1988 简单并查集

    B - 叠叠乐 Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:30000KB     64bit ...

  7. UVA - 1197 (简单并查集计数)

    Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized ...

  8. poj 2524 Ubiquitous Religions 一简单并查集

    Ubiquitous Religions   Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 22389   Accepted ...

  9. LA3644简单并查集判环

    题意:       有n个化合物,每个化合物是两种元素组成,现在要装车,但是一旦车上的化合物中的某几个化合物组成这样一组关系,有n个化合物正好用了n中元素,那么就会爆炸,输入的顺序是装车的顺序,对于每 ...

随机推荐

  1. The Falling Leaves(建树方法)

    uva 699 紫书P159 Each year, fall in the North Central region is accompanied by the brilliant colors of ...

  2. Unity对象的所有组件深拷贝与粘贴

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51454847 作者:car ...

  3. hrbust oj 1536 Leonardo's Notebook 置换群问题

    题目大意: 给出一个A~Z的置换G,问能否找到一个A~Z的置换G' 能够用来表示为 G = G'*G' 由定理: 任意一个长为 L 的置换的k次幂,都会把自己的每一个循环节分裂成gcd(L, K)份, ...

  4. Spring mvc 时间转换

    http://www.cnblogs.com/ssslinppp/p/4600043.html

  5. ios7新增api实现扫描二维码

    本来用的ZBar开源库实现的扫描二维码,可是貌似不支持arm64了,也没有在更新. 如今不用适配ios7下面.而iOS新增系统API已支持扫码,參考老外的一篇博客做了个demo.须要的能够參考下 參考 ...

  6. 改动wordpress默认发邮件邮箱地址

    方法一: wordpress发送邮件默认是用的php mail函数.所以发送邮件的地址是能够随意写的.其默认发邮件的地址是wordpress@yourdomain.com.当然这个地址是能够改动的. ...

  7. 开发汉澳sinox64位,对接汉澳矩阵电脑

    汉澳矩阵电脑刚刚不久前提出,即使全然设计出了汉澳矩阵电脑线路图,要在上面执行操作系统必须有矩阵操作系统. 汉澳sinox64位操作系统并非矩阵操作系统,仅仅是更为接近. 汉澳矩阵电脑假设插有16个矩阵 ...

  8. ViewPager中View的复用

    代码例如以下: public class MyViewPagerAdapter extends PagerAdapter { //显示的数据 private List<DataBean> ...

  9. 【bzoj1821】[JSOI2010]Group 部落划分 Group

    题目大意:要求把n个点分成m块,使得每一块之间的距离的最小值最大 n^2枚举所有点之间距离 然后sort一下 并查集维护连通关系 一开始e[]开MAXN然后WA了测了4ms,然后开MAXN<&l ...

  10. Xshell配色方案啊【学习笔记】

    自己移植从putty版本移植到Xshell的配色方案,效果不错,看上去挺舒服. [myisayme] text(bold)=eaeaea magenta(bold)=ff55ff text=fffff ...