1526:宗教信仰

  • 查看
  • 提交
  • 统计
  • 提问
总时间限制: 
5000ms 
内存限制: 
65536kB
描述
世界上有许多宗教,你感兴趣的是你学校里的同学信仰多少种宗教。
你的学校有n名学生(0 < n <= 50000),你不太可能询问每个人的宗教信仰,因为他们不太愿意透露。但是当你同时找到2名学生,他们却愿意告诉你他们是否信仰同一宗教,你可以通过很多这样的询问估算学校里的宗教数目的上限。你可以认为每名学生只会信仰最多一种宗教。
输入
输入包括多组数据。
每组数据的第一行包括n和m,0 <= m <= n(n-1)/2,其后m行每行包括两个数字i和j,表示学生i和学生j信仰同一宗教,学生被标号为1至n。输入以一行 n = m = 0 作为结束。
输出
对于每组数据,先输出它的编号(从1开始),接着输出学生信仰的不同宗教的数目上限。
样例输入
10 9
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
10 4
2 3
4 5
4 8
5 8
0 0
样例输出
Case 1: 1
Case 2: 7
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int f[50003],n,m,ans,i,j,k,num[50003];
int find(int x)
{
    if (f[x]==x)
     return x;
    f[x]=find(f[x]);
    return f[x];
}
int main()
{
    scanf("%d%d",&n,&m);
    int l=0;
    while (n!=0&&m!=0)
     {
         l++;
         for (i=1;i<=n;i++)
          f[i]=i;
         for (i=1;i<=m;i++)
          {
             int x,y;
             scanf("%d%d",&x,&y);
             int r1=find(x); int r2=find(y); f[r2]=r1;
          }
         ans=0; memset(num,0,sizeof(num));
         for(i=1;i<=n;i++)
          int r1=find(i);
         for (i=1;i<=n;i++)
           if (num[f[i]]==0)
            {
                ans++;
                num[f[i]]++;
            }
         printf("Case %d: %d\n",l,ans);
         scanf("%d%d",&n,&m);
     }
}

openjudge 宗教信仰相关推荐

  1. NOI 4.3 图论 1526:宗教信仰

    题目来源:http://noi.openjudge.cn/ch0403/1526/ 1526:宗教信仰 总时间限制: 5000ms    内存限制: 65536kB 描述 世界上有许多宗教,你感兴趣的 ...

  2. 数据结构实验 6.宗教信仰

    题目 [问题描述] 世界上有许多宗教,你感兴趣的是你学校里的同学信仰多少种宗教. 你的学校有n名学生(0 < n <= 50000),你不太可能询问每个人的宗教信仰,因为他们不太愿意透露. ...

  3. 宗教信仰和推荐系统解决同一问题

    人工智能 ,哲学, 舆论 (Artificial Intelligence, Philosophy, Opinion) On the surface, religions and recommende ...

  4. 《红楼梦》中的宗教信仰

    读<红楼梦>是一件轻松惬意的事情.虽然看到第N回还是没记住其中的人物关系,需要找人物关系图才能理清楚他们之间的亲戚关系,虽然其中诸如奶奶.二奶奶.太太.姨娘等称谓常让人有些迷糊,但这丝毫不 ...

  5. 人工智能拥有宗教信仰?变害为利还是邪恶帮凶

    马斯克又发出警告称,人工智能对人类的危害将可能与核武器相提并论.不过,从另一角度来看,人工智能是否也有希望接受一种宗教形式,通过忠诚的信仰让人工智能变害为利,尽量多做对人类有益的事,减轻对人类的危害? ...

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

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

  7. 并查集_宗教信仰(并查集)

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

  8. 1526:宗教信仰——简单并查集

    描述 世界上有许多宗教,你感兴趣的是你学校里的同学信仰多少种宗教. 你的学校有n名学生(0 < n <= 50000),你不太可能询问每个人的宗教信仰,因为他们不太愿意透露.但是当你同时找 ...

  9. 并查集---宗教信仰

    并查集-宗教信仰 题目: There are so many different religions in the world today that it is difficult to keep t ...

最新文章

  1. Android中设置RecyclerView的每一个item的单项点击事件
  2. Shell(12)——awk(2)
  3. C语言第九次博客作业--指针
  4. linux下的c语言控制灯闪烁,C语言实现LED灯闪烁控制
  5. 网易有道词典2019年度十大热词:Vlog、PUA等上榜
  6. bzoj 1645: [Usaco2007 Open]City Horizon 城市地平线(线段树扫描线)
  7. 资产管理界的风控大师-贝莱德BlackRock集团
  8. Matlab图像分割
  9. 实验3matlab的符号运算,实验MATLAB符号运算
  10. 无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系查明你是否有访问权限。
  11. 物联网通信消息队列客户端-MQTT简介
  12. 壁纸控福音:私藏的100PC张壁纸一次打包分享
  13. php 微信发红包 证书错误,微信支付,使用证书时出现58错误 - 微信公众平台
  14. LED,LCD,CRT,TFT,TFD,STN显示屏说明
  15. 钒酸钠的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. 计算机翻译图片,扫描图片翻译在线翻译方法(纯干货~)
  17. 关于torch.bmm()函数计算过程
  18. win10系统 - U盘启动盘制作教程
  19. SouthernBiotech 艾美捷Fluoromount-G功能参数
  20. 《银翼杀手》画面布局赏析

热门文章

  1. java解密手机QQ聊天记录
  2. Jeeplus使用备忘
  3. 地磅称重微调的3种方法,解决称重不准的问题
  4. 现代控制理论与经典控制理论
  5. java中判断字符串是否为汉字或其他字符
  6. 使用Oracle自带的SQL PLUS工具管理Oracle数据库
  7. 我读过的最好的epoll讲解
  8. nodejs操作sqlserver数据_实例分析nodejs基于mssql模块连接sqlserver数据库的简单封装操作...
  9. 鸿蒙2.0安卓,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪
  10. MATLAB软件基础学习篇——002