【c++每天一题】有多少种信仰

这篇具有很好参考价值的文章主要介绍了【c++每天一题】有多少种信仰。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

描述

学校有 n 个同学,每个同学有且只有一个信仰并且,(1∼n)编号,给出 m 对有同一信仰的同学,问存在多少种不同的信仰?

输入描述

输入一个 n 和 m。
以下 m 行,每行输入两个数 a,b,代表 a 同学和 b 同学拥有同一信仰。

输出描述

输出一共有多少种信仰。

样例输入 1 

10 4
2 3
4 5
4 8
5 8

样例输出 1 

7

提示

数据范围与提示

0<n≤50000,0≤m≤n(n−1)/2

这道题采用了并查集的思路,是一道并查集的模板题。话不多说,直接看代码:

#include<iostream>
using namespace std;
int a[50002];
int find(int x){
	if(a[x]==x){
		return x;
	}else{
		return a[x]=find(a[x]);
	}
}
void merge(int x,int y){
	 int fx=find(x);
	 int fy=find(y);
	 a[fx]=fy;
}
int main(){
	long long n,m,x,y,cnt=0;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		a[i]=i;
	}
	for(int i=0;i<m;i++){
		cin>>x>>y;
		if(find(x)!=find(y)){
		   merge(x,y);
		}
		
	}
	for(int i=1;i<=n;i++){
		if(a[i]==i){
		   cnt++;	
		}
	}
	cout<<cnt;
	return 0;
} 

​

 文章来源地址https://www.toymoban.com/news/detail-797322.html

到了这里,关于【c++每天一题】有多少种信仰的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Solana拉盘出信仰

    号外: 教链内参12.20《Messari看空以太坊,ETH/BTC再创新低》 忽如一夜春风来,千树万树梨花开。就在ETH对BTC汇率再度跌破0.5低点时,关于Solana (SOL)将在本轮周期超越以太坊(ETH)的呼声鹊起。 甚至于,连一定程度上代表了西方加密投资机构主流意见的投研机构Messari在其年终报告

    2024年02月04日
    浏览(43)
  • Rust 近乎宗教般信仰的案例

    Rust 近乎宗教般信仰的案例 亚历山大·西多罗夫 众所周知,Rust 社区对 Rust 非常热情,有些人甚至责怪我们偶尔表现得像一个邪教。 恐怕我不会打消这个印象。因为在这篇文章将证明 Rust 使您成为一个更好的工程师、更好的管理者和更好的人。 作者背景 我的背景是十多年的

    2024年02月16日
    浏览(33)
  • 【C++历练之路】stack||queue||底层原理知多少

    W...Y的主页 😊 代码仓库分享💕  🍔前言: C++标准模板库(Standard Template Library,STL)是C++语言的一个重要组成部分,提供了一组通用的数据结构和算法,以便开发人员能够高效地编写可重用的代码。STL中的两个常用容器,即stack(堆栈)和queue(队列),在许多应用中都是非

    2024年02月04日
    浏览(41)
  • Java中令人惊艳的五大算法,你知道多少?

    ✅作者简介:2022年 博客新星 第八 。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:前端案例分享专栏 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:Java中令人惊艳的五大

    2024年02月07日
    浏览(43)
  • C++ STL第三篇(搞清楚deque原理和有多少用法)

    Vector容器是单向开口的连续内存空间,deque则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然,vector容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。 Deque容器和vector容器最大的差异,

    2024年03月17日
    浏览(39)
  • 深度科普:机器人都在用的Hybrid A*算法,你知道多少?

    全局路径规划,是指在已知的环境中为机器人规划一条最优行驶路径。本文将对比经典的A*算法,深度探讨机器人常用全局路径规划算法——Hybrid A*算法的原理,包括Hybrid A*算法特性、RS曲线、代价函数与启发式、节点拓展、碰撞检测,以及局部优化与平滑等内容。  Hybrid A

    2024年02月12日
    浏览(42)
  • 华为OD机试 - 小朋友来自多少分区(Java & JS & Python & C & C++)

    哈喽,本题库完全免费,收费是为了防止被爬,大家订阅专栏后可以私信联系退款。感谢支持 幼儿园组织活动,老师布置了一个任务: 每个小朋友去了解与自己同一个小区的小朋友还有几个。 我们将这些数量汇总到数组 garden 中。 请根据这些小朋友给出的信息,计算班级小

    2024年04月09日
    浏览(79)
  • 华为OD机试 - 小朋友来自多少小区(Java & JS & Python & C & C++)

    题目描述 幼儿园组织活动,老师布置了一个任务: 每个小朋友去了解与自己同一个小区的小朋友还有几个。 我们将这些数量汇总到数组 garden 中。 请根据这些小朋友给出的信息,计算班级小朋友至少来自几个小区? 输入描述 输入:garden[] = {2, 2, 3} 输出描述 输出:7 备注

    2024年02月19日
    浏览(44)
  • 【华为OD机试】需要打开多少监视器(贪心算法—Java&Python&C++&JS实现)

    本文收录于专栏:算法之翼 本专栏所有题目均包含优质解题思路,高质量解题代码(JavaPythonC++JS分别实现),详细代码讲解,助你深入学习,深度掌握!

    2024年04月10日
    浏览(50)
  • 【华为OD机考 统一考试机试C卷】小朋友来自多少小区(C++ Java JavaScript Python C语言)

    目前在考C卷,经过两个月的收集整理, C卷真题已基本整理完毕 抽到原题的概率为2/3到3/3, 也就是最少抽到两道原题。 请注意:大家刷完C卷真题,最好要把B卷的真题刷一下,因为C卷的部分真题来自B卷。 另外订阅专栏还可以联系笔者开通在线OJ进行刷题,提高刷题效率。

    2024年02月22日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包