SDUT (并查集)
来源:互联网 发布:mac开机出现禁止符号 编辑:程序博客网 时间:2024/06/05 06:52
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
众所周知,考试有几套不同的试卷,而且,为了防止我们抄袭旁边同学的,一般附近同学的试卷和你的试卷不一样。但是,我们还是知道了一些同学的试卷是相同的,假设有n个同学,编号为0~n-1,你的编号为0,,根据我们已知的信息,求还有多少人的试卷和你的试卷是相同的。
输入
多组输入,每组第一行,有两个整数n,m(2 <= n <= 100000, 0 <= m <= 10000),代表n个同学,m条我们已知的信息。
接下来m行,每行有两个整数a,b(0 <= a,b <= n-1)。
代表a同学和b同学的试卷是相同的。
输出
每组输出一行,输出和你的试卷相同的同学的个数。
示例输入
5 20 11 25 21 22 3
示例输出
20
提示
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int fa[1000010];void Make_set(int n){for(int i=0;i<n;i++)fa[i]=i;}int Find(int x){if(x!=fa[x])fa[x]=Find(fa[x]);return fa[x];}void Union(int x,int y){int fx=Find(x);int fy=Find(y);if(fx!=fy)fa[fy]=fx;}int main(){int n,m,x,y;while(scanf("%d%d",&n,&m)!=EOF){Make_set(n);while(m--){scanf("%d%d",&x,&y);Union(x,y);}int cnt=0;for(int i=1;i<n;i++)if(Find(0)==Find(i))cnt++;printf("%d\n",cnt);}return 0;}
0 0
- SDUT (并查集)
- SDUT 电影节(并查集模板)
- SDUT (并查集+哈希)
- SDUT 2798-小鑫的城堡(并查集)
- SDUT Ubiquitous Religions(并查集+哈希)
- sdut 2798 小鑫的城堡(并查集)
- sdut 1488 连通分量的个数(并查集)
- SDUT OJ 2801 并查集
- sdut 2797 电影节(并查集)
- SDUT 2933-人活着系列之Streetlights(最小生成树Kruskal+并查集实现)
- sdut 1488 数据结构实验:连通分量个数(并查集)
- SDUT 3362 数据结构实验之图论六:村村通公路(并查集)
- SDUT OJ 2798小鑫的城堡 并查集
- sdut oj2129 树结构练习——判断给定森林中有多少棵树(并查集)
- 并查集(集并查)
- SDUT 3364-数据结构实验之图论八:欧拉回路(并查集)
- SDUT 3386 小雷的冰茶几 并查集 压缩路径
- 并查集(含关系并查集)
- LeetCode-Anagrams
- DebootstrapChroot
- js对象的定义方法
- Lucene 4.9 学习心得 (一)
- log4cxx用法
- SDUT (并查集)
- 使用ZjDroid时出现了R.java不存在的错误解决方法
- windows下apache如何完整卸载?
- Hdu 4946 <几何+凸包>
- poj--1458
- STL之 THE ! LIST!
- @autoreleasepool 重指向的问题, 两个小题 (第二题两个错误)
- J2EE学习之出现乱码的问题
- hdu 4945 2048(DP)