题目大意:
你知道你的大学里有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相关推荐

  1. 【并查集】POJ 2524 Ubiquitous Religions

    POJ 2524 Ubiquitous Religions 就是看集合的数量是多少,将所有节点的祖先结点放进set,输出size就行了 #include <iostream> #inclu ...

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

    题目链接:http://poj.org/problem?id=2524 There are so many different religions in the world today that it ...

  3. poj 2524 Ubiquitous Religions (并查集)

    题目:http://poj.org/problem?id=2524 题意:问一个大学里学生的宗教,通过问一个学生可以知道另一个学生是不是跟他信仰同样的宗教.问学校里最多可能有多少个宗教. 也就是给定一 ...

  4. Ubiquitous Religions (并查集)

    Ubiquitous Religions POJ - 2524 当今世界有许多不同的宗教,很难跟踪它们.你有兴趣找出你大学里有多少不同的宗教学生相信. 你知道你的大学里有 n 学生 (0 < n ...

  5. POJ2524——宗教(Ubiquitous Religions)【图论,并查集】

    正题 题目链接: http://poj.org/problem?id=2524 大意 有n个学生,告诉你哪两个学生的宗教相等,求校园里有多少个宗教. 解题思路 并查集链接就好了 代码 #include ...

  6. POJ-2524 Ubiquitous Religions(无处不在的宗教)解题报告(并查集)

    目录 题目描述 思路分析 今天没有考试,那就再刷点题吧(难道就不怕c语言挂科吗?).因为昨天写了道并查集,所以今天再来一道,还是有所收获的. 题目描述 题目:https://vjudge.net/pr ...

  7. POJ 2524 宗教信仰 并查集 基础模板

    世界上有许多不同的宗教,现在有一个你感兴趣的问题:找出多少不同的宗教,在你的大学中的大学生信仰了多少种不同的宗教.你知道在你的大学有n个学生(0<n<= 50000).若直接问每一个学生的 ...

  8. 并查集入门+初级专题训练

    介绍   摘自罗勇军,郭卫斌的<算法竞赛入门到进阶>上的说明:   并查集(Disjoint Set)是一种非常精巧而且食用的数据结构,它主要用于处理一些不相交集合的合并问题.经典的例子有 ...

  9. 【转载】图论 500题——主要为hdu/poj/zoj

    转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

最新文章

  1. 为什么要使用sigmoid,tanh,ReLU等非线性函数?
  2. 分销与供应链海外采购电子元器件,你需要了解哪些报关知识?
  3. 不再颓废,重新开始,牛客第一题1016. 部分A+B (15)
  4. BZOJ3916 [Baltic2014]friends
  5. 【转】oracle having -OCP-047-53
  6. 如何自动打开function对应的ABAP class
  7. 7-1 内存分区分配--首次适应算法 (100 分)
  8. django新建一个项目_如何使用Django创建项目
  9. How to manage the certificates in the PC
  10. Flash 与 JavaScript的交互总结
  11. 未来的商业,一定是基于在线化的
  12. ubuntu mysql主从配置_MYSQL 主从数据库的配置 ubuntu 12.04
  13. shell中数组的使用
  14. PHP 二维数组根据某个字段排序
  15. 成人大专计算机自我鉴定300字,自我鉴定300字成人大专
  16. Seven languages in seven weeks (notes on Scala)
  17. as常用固定搭配_as固定短语搭配
  18. 方大九钢携手图扑软件:数字孪生智慧钢厂
  19. ubuntu 8.04下安装yEd
  20. JS字符串转数组和数组转字符串

热门文章

  1. iBATISSpring合奏(五)--整合lucene搜索表字段内容
  2. codeforces 1783 C. Yet Another Tournament
  3. java 日食还是月蚀_今天是日食还是月食(日食与月食的区别)
  4. 有什么牌子台灯性价比高?性价比最高的护眼台灯
  5. 坯子库插件怎么用?使用教程
  6. Java中反射相关的类
  7. Python_剪刀石头布
  8. ubuntu20.04安装显卡问题记录
  9. 【codeforces round#800 D题 Fake Plastic Trees】树上贪心
  10. Python运行环境搭建/代码的编写和执行