Ice_cream's world I( 并查集 + 判环 )

ice_cream's world is a rich country, it has many fertile lands. Today, the queen of ice_cream wants award land to diligent ACMers. So there are some watchtowers are set up, and wall between watchtowers be build, in order to partition the ice_cream’s world. But how many ACMers at most can be awarded by the queen is a big problem. One wall-surrounded land must be given to only one ACMer and no walls are crossed, if you can help the queen solve this problem, you will be get a land.

Input

In the case, first two integers N, M (N<=1000, M<=10000) is represent the number of watchtower and the number of wall. The watchtower numbered from 0 to N-1. Next following M lines, every line contain two integers A, B mean between A and B has a wall(A and B are distinct). Terminate by end of file.

Output

Output the maximum number of ACMers who will be awarded.
One answer one line.

Sample Input

8 10
0 1
1 2
1 3
2 4
3 4
0 5
5 6
6 7
3 6
4 7

Sample Output

3

题意:一个王国有n个瞭望塔编号 0~n, m堵墙,墙是在两个瞭望塔间建的,问被墙包围起来的土地有多少块。

思路:就是在一个图中找环的个数, 但是不用考虑环套环的情况, 用并查集模拟,在join(a,b)的时候, 仅当a和b已经存在联系了,那么再加这条边一定会组成环,所以ans++。

代码:

#include <iostream>
#include <stdio.h>using namespace std;const int maxn = 1005;
int n,m;
int pre[maxn];
int ans;int root( int x )
{if ( x!=pre[x] ) {pre[x] = root(pre[x]);}return pre[x];
}void join( int a, int b )
{int x = root(a);int y = root(b);if ( x!=y ) {pre[x] = y;}else {ans ++; // 当a和b已经存在联系了,那么再加这条边一定会组成环}
}int main()
{while ( cin >> n >> m ) {ans = 0;for ( int i=0; i<=n; i++ ) pre[i]=i;while ( m-- ) {int u,v;scanf("%d %d",&u,&v);join(u,v);}cout << ans << endl;        }return 0;
}

Ice_cream's world I( 并查集 + 判环 )相关推荐

  1. Ice_cream's world I HDU - 2120(并查集判环)

    题意:问给出的望塔之间的建造了围墙,将土地分成了几份 思路:用并查集判环,若有围墙相接的瞭望塔,有相同的父根,则存在环 ice_cream's world is a rich country, it ...

  2. LA3644简单并查集判环

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

  3. poj 3310(并查集判环,图的连通性,树上最长直径路径标记)

    题目链接:http://poj.org/problem?id=3310 思路:首先是判断图的连通性,以及是否有环存在,这里我们可以用并查集判断,然后就是找2次dfs找树上最长直径了,并且对树上最长直径 ...

  4. 【HDU - 1272】小希的迷宫 (并查集判环)

    题干: 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通 ...

  5. Codeforces 103B - Cthulhu(并查集 找环和块)

    传送门:https://codeforces.com/problemset/problem/103/B 题意: 给一个n个结点,m条边的无向图 判断给定图是否满足以下条件: 能被表示为有3个及以上的有 ...

  6. 并查集 ---- 扩展域并查集判二分图 + 循环模拟字典树 The 2020 ICPC Asia Macau Regional Contest C. Club Assignment (详解)

    题目链接 题目大意: 有n个数,现在要把他们拆分成两个集合,假设S为集合,有如下定义: f(S)={min(x⊕y)∣x,y∈S,andx!=y}f(S)=\{min(x\oplus y)|x,y\i ...

  7. HDU 1272 - 小希的迷宫(并查集判树)

    目录 Problem Description C++代码 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来 ...

  8. 巧用并查集求解环的个数以及连通块的数目

    2021年度训练联盟热身训练赛第二场--F题:Interstellar Love 题意 给你s个点,c个连接数,求解这s个点组成的连通块的数量以及其中所包含的环的数量(孤立的点不算作连通块和环). 思 ...

  9. UVA10129 Play on Words (并查集判连通+欧拉回路)

    题目解析: 输入一些英文单词,根据该单词的首尾字母,判断所有单词能不能连成一串, 类似于成语接龙的意思.同样如果有多个重复的单词时,也必须满足这样的条件才能通过, 否则都是不可能的情况.输入包括若干个 ...

  10. 【POJ - 3310】Caterpillar(并查集判树+树的直径求树脊椎(bfs记录路径)+dfs判支链)

    题干: An undirected graph is called a caterpillar if it is connected, has no cycles, and there is a pa ...

最新文章

  1. windows操作系统的引导过程描述
  2. 被困69天后,智利矿工重返人间
  3. VTK:PolyData之MiscPointData
  4. mysql按加号没反应_请各位大哥给小老弟解疑答惑一下 为什么点击加号没有反应?感谢...
  5. 变参函数寻找最大整数值
  6. JwPlayer播放器【去除Logo、去除版本信息】
  7. 卷积神经网络(CNN)之MNIST手写数字数据集的实现
  8. 区别德语的公母阴阳性别的秘诀
  9. ruby wxruby rubytk的安装
  10. 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 4.全局防护Bypass之二次注入
  11. opencl JAVA编程_《OpenCL异构并行编程实战》第十二至十四章
  12. BP神经网络python的实现
  13. ORL人脸识别tensorflow实现
  14. uniapp map 点聚合
  15. 论文阅读笔记——野外和非侵入性遗传方法评估棕熊种群规模
  16. 微信屏蔽网站域名,提示“已停止访问该网页”该怎么办?
  17. 电脑时间调到2099年,会发生什么
  18. 微信开发——加密认证
  19. c语言栈训练题目:括号匹配
  20. Android制作粒子爆炸特效

热门文章

  1. linux下无线USB网卡驱动安装
  2. Oracle获取日期大全(当月的第一天/后一天/上一天/最后一天/上个月这一天)
  3. Python基础:while循环 以及 练习题 :三位数的水仙花数 GDP 计算π 判断一个数是否是素数
  4. 苹果开发者账户申请完整流程
  5. 三维重建 建立客观世界的虚拟现实||时空克隆 三维视频融合 投影融合 点卯 魔镜系列
  6. 电脑扬声器安装程序(UNKNOW)
  7. php5.4 eregi,帮助将PHP eregi转换为preg_match
  8. 计算机技术与软件专业技术资格哪个好考,计算机技术与软件专业技术资格好考吗?考试时间?...
  9. java系统化基础-day02-运算符、选择结构、循环结构
  10. fontawesome-webfont.woff2 404