广州C++信奥老师解一本通题 1346:【例4-7】亲戚(relation)

 【题目描述】

或许你并不知道,你的某个朋友是你的亲戚。他可能是你的曾祖父的外公的女婿的外甥女的表姐的孙子。如果能得到完整的家谱,判断两个人是否是亲戚应该是可行的,但如果两个人的最近公共祖先与他们相隔好几代,使得家谱十分庞大,那么检验亲戚关系实非人力所能及。在这种情况下,最好的帮手就是计算机。为了将问题简化,你将得到一些亲戚关系的信息,如Marry和Tom是亲戚,Tom和Ben是亲戚,等等。从这些信息中,你可以推出Marry和Ben是亲戚。请写一个程序,对于我们的关于亲戚关系的提问,以最快的速度给出答案。

【输入】

输入由两部分组成。

第一部分以N,M开始。N为问题涉及的人的个数(1≤N≤20000)。这些人的编号为1,2,3,…, N。下面有M行(1≤M≤1000000),每行有两个数ai,b,表示已知ai和bi是亲戚。

第二部分以Q开始。以下Q行有Q个询问(1≤ Q ≤1000000),每行为ci,di,表示询问ci和di是否为亲戚。

【输出】

对于每个询问ci,di,输出一行:若ci和di为亲戚,则输出“Yes”,否则输出“No”。

【输入样例】

10 7
2 4
5 7
1 3
8 9
1 2
5 6
2 3
3
3 4
7 10
8 9

【输出样例】

Yes
No
Yes

 

#include <bits/stdc++.h>
using namespace std;
int tree[20001],n,m,q,x,y;
int findParent(int x)
{return tree[x]==x? x: findParent( tree[x] ); //如果x的结点的根就是自己,直接返回,否则递归找其父结点 
}
int main()
{scanf("%d%d",&n,&m);  //必需要全部使用格式化输入输出,否则超时 for(int i=1;i<=n;i++)tree[i]=i;for(int i=1;i<=m;i++){scanf("%d%d",&x,&y);tree[  findParent(x) ]= findParent(y);}cin>>q;  //q次询问 for(int i=1;i<=q;i++){scanf("%d%d",&x,&y);printf("%s\n",  findParent(x)==findParent(y) ? "Yes":"No");}return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/803321.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智源大会-2024-十一-

智源大会 2024(十一) 2024北京智源大会-视觉大模型 - P6:圆桌论坛:视觉重回第一赛道?-主持人:颜水成-嘉宾:鲍 凡-申琛惠-李俊男-程明明 - 智源社区 - BV13x4y1t7sb 今天的话虽然是我们是这个视觉的,这个呃大模型,但是我们也有这个AMP,也有多模态的那个俊男在这个地方…

智源大会-2024-十-

智源大会 2024(十) 2024北京智源大会-生成模型 - P4:视觉生成中的若干问题;古纾旸 - 智源社区 - BV1DS411w7hz 这个怎么控,好可以好,行那就这样吧,嗯好,大家好,我是谷舜阳,今天这个标题的title写的有点大,我一直在想我要不要起这个title,最后还是起了这个title,主…

智源大会-2024-二-

智源大会 2024(二) 2024北京智源大会-人工智能+数据新基建 - P2:大模型需要大数据流转模式创新-黄铁军 - 智源社区 - BV1qx4y14735 尊敬的上部长夏局长啊,各位领导啊,各位专家呃,特别感谢啊,大家来这个出席今天这个志愿大会,我们嗯围绕人工智能,特别是数据呃的一一些这…

智源大会-2024-九-

智源大会 2024(九) 2024北京智源大会-智能驾驶 - P4:比亚迪智驾与智舱开发工作实践:高 文 - 智源社区 - BV1Ww4m1a7gr 呃首先感谢刘主任的介绍以及组委会的邀请,呃很高兴与大家相聚在致远,呃,刚才首先黄教授先讲了这个人类对于呃,驾驶任务的这个完成,刚才也说了,人类…

P12-AI-in-Healthcare---爱可可-爱生活---BV1jo4y1d7R6

P12:AI in Healthcare - 爱可可-爱生活 - BV1jo4y1d7R6 我在谷歌工作了16年,过去六年,我一直在生命科学和医疗保健,我通常喜欢运行更多的互动课程,嗯,给定群体的规模,我们认为民意调查可能会奏效,所以我会在整个谈话过程中发起几个民意调查。 我也会试着留意聊天记录,…

P10-Taming-Dataset-Bias-via-Domain-Adaptation---爱可可-爱生活---BV1jo4y1d7R6

P10:Taming Dataset Bias via Domain Adaptation - 爱可可-爱生活 - BV1jo4y1d7R6 我很高兴今天在这里,和你们谈谈我非常兴奋和感兴趣的事情,因为这是我的研究领域,所以总是很有趣,讲一个关于自己的研究的话题,所以我的话题是驯服数据集,通过领域适应性um和我相信。 您已…

P9-Deep-CPCFG-for-Information-Extraction---爱可可-爱生活---BV1jo4y1d7R6

P9:Deep CPCFG for Information Extraction - 爱可可-爱生活 - BV1jo4y1d7R6 谢谢,所以我在全球eui带领呃,今天,我们将与您讨论我们已经完成的一些工作,信息提取专门针对深层cpcfg,因此希望如此,我们将介绍一些您可能以前从未遇到过的概念,在我们开始之前,可能会免除一…

读构建可扩展分布式系统:方法与实践14流处理系统

流处理系统1. 流处理系统 1.1. 时间就是金钱1.1.1. 从数据中提取有价值的知识和获得洞见的速度越快,就能越快地响应系统所观察的世界的变化1.1.2. 信用卡欺诈检测1.1.3. 网络安全中异常网络流量的捕获1.1.4. 在支持GPS的驾驶应用程序中进行的实时路线规划1.1.5. 社交媒体网站上…

00 安装python解释器

(尽量去官网下载 )https://python.org/下载解释器python 2.7.16 (2020 年官方不在维护) python3.6.8 (优先使用这个)安装解释器 记得勾选,添加环境变量安装目录建议安装到根目录下面检查python 是否安装成功

01 配置环境变量

目的:方便以后快速找到python解释器添加到python的解释目录 如果有安装不同的版本,需要将安装目录里面的python.exe 进行重命名,python36.exe 进行重新 打开终端,执行python36查看当前安装的版本号

python--迭代器

在Python中数据类型list、touple、str、dict、set均可通过for循环进行遍历,通过for循环的这种遍历就称为迭代 以上几种类型都是可迭代对象(Iterable)

御网杯 2024

御网杯 2024Crypto crypto1 题目: # coding:utf-8 # python 3.6from flag import flag import res = "fst3Sem8Wgnobcd9+++++uv2JKpUViFGHz0QRMyjkA7NaBC14wXYxh5OP/DEqrZIl6LT"assert re.match(r^DASCTF\{[a-f0-9]+\}$,flag) != Nonedef encode(inputs):bin_str = …