SSL-ZYC POJ 2524 Ubiquitous Religions
题目大意:
你知道你的大学里有N个学生。每个人都信仰宗教,你向每个学生请教他们的宗教信仰是不可行的。避免这些问题的一种方法是问M对学生,问他们是否相信同一宗教。从这些数据中,你可能不知道每个人都相信什么,但你可以了解在校园里可能有多少不同宗教的上限。你可以假设每个学生只信仰一种宗教。
思路:
简单的并查集题目。
先将每个人都划在自己集合里,如果两人信仰同一个宗教,那么再把他们划在一个集合里,最终输出集合的总数。
代码:
#include <cstdio>
#include <iostream>
using namespace std;int father[50001],n,m,sum,k,o,x,y,l;int find(int x) //并查集
{return x==father[x]?x:father[x]=find(father[x]);
}int main()
{scanf("%d%d",&n,&m);while (n||m){l++;sum=0;for (int i=1;i<=n;i++)father[i]=i; //初始化(把每个人划在自己集合里)for (int i=1;i<=m;i++){scanf("%d%d",&x,&y);if (find(x)!=find(y)) father[find(y)]=find(x); //将两人划在同一集合}for (int i=1;i<=n;i++)if (father[i]==i) sum++; //计算集合总数printf("Case %d: %d\n",l,sum);scanf("%d%d",&n,&m);}return 0;
}
转载于:https://www.cnblogs.com/hello-tomorrow/p/9313091.html
SSL-ZYC POJ 2524 Ubiquitous Religions相关推荐
- 【并查集】POJ 2524 Ubiquitous Religions
POJ 2524 Ubiquitous Religions 就是看集合的数量是多少,将所有节点的祖先结点放进set,输出size就行了 #include <iostream> #inclu ...
- poj 2524 Ubiquitous Religions (简单并查集)
题目链接:http://poj.org/problem?id=2524 There are so many different religions in the world today that it ...
- poj 2524 Ubiquitous Religions (并查集)
题目:http://poj.org/problem?id=2524 题意:问一个大学里学生的宗教,通过问一个学生可以知道另一个学生是不是跟他信仰同样的宗教.问学校里最多可能有多少个宗教. 也就是给定一 ...
- Ubiquitous Religions (并查集)
Ubiquitous Religions POJ - 2524 当今世界有许多不同的宗教,很难跟踪它们.你有兴趣找出你大学里有多少不同的宗教学生相信. 你知道你的大学里有 n 学生 (0 < n ...
- POJ2524——宗教(Ubiquitous Religions)【图论,并查集】
正题 题目链接: http://poj.org/problem?id=2524 大意 有n个学生,告诉你哪两个学生的宗教相等,求校园里有多少个宗教. 解题思路 并查集链接就好了 代码 #include ...
- POJ-2524 Ubiquitous Religions(无处不在的宗教)解题报告(并查集)
目录 题目描述 思路分析 今天没有考试,那就再刷点题吧(难道就不怕c语言挂科吗?).因为昨天写了道并查集,所以今天再来一道,还是有所收获的. 题目描述 题目:https://vjudge.net/pr ...
- POJ 2524 宗教信仰 并查集 基础模板
世界上有许多不同的宗教,现在有一个你感兴趣的问题:找出多少不同的宗教,在你的大学中的大学生信仰了多少种不同的宗教.你知道在你的大学有n个学生(0<n<= 50000).若直接问每一个学生的 ...
- 并查集入门+初级专题训练
介绍 摘自罗勇军,郭卫斌的<算法竞赛入门到进阶>上的说明: 并查集(Disjoint Set)是一种非常精巧而且食用的数据结构,它主要用于处理一些不相交集合的合并问题.经典的例子有 ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
最新文章
- 为什么要使用sigmoid,tanh,ReLU等非线性函数?
- 分销与供应链海外采购电子元器件,你需要了解哪些报关知识?
- 不再颓废,重新开始,牛客第一题1016. 部分A+B (15)
- BZOJ3916 [Baltic2014]friends
- 【转】oracle having -OCP-047-53
- 如何自动打开function对应的ABAP class
- 7-1 内存分区分配--首次适应算法 (100 分)
- django新建一个项目_如何使用Django创建项目
- How to manage the certificates in the PC
- Flash 与 JavaScript的交互总结
- 未来的商业,一定是基于在线化的
- ubuntu mysql主从配置_MYSQL 主从数据库的配置 ubuntu 12.04
- shell中数组的使用
- PHP 二维数组根据某个字段排序
- 成人大专计算机自我鉴定300字,自我鉴定300字成人大专
- Seven languages in seven weeks (notes on Scala)
- as常用固定搭配_as固定短语搭配
- 方大九钢携手图扑软件:数字孪生智慧钢厂
- ubuntu 8.04下安装yEd
- JS字符串转数组和数组转字符串
热门文章
- iBATISSpring合奏(五)--整合lucene搜索表字段内容
- codeforces 1783 C. Yet Another Tournament
- java 日食还是月蚀_今天是日食还是月食(日食与月食的区别)
- 有什么牌子台灯性价比高?性价比最高的护眼台灯
- 坯子库插件怎么用?使用教程
- Java中反射相关的类
- Python_剪刀石头布
- ubuntu20.04安装显卡问题记录
- 【codeforces round#800 D题 Fake Plastic Trees】树上贪心
- Python运行环境搭建/代码的编写和执行