题目背景

若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。

题目描述

规定:xx 和 yy 是亲戚,yy 和 zz 是亲戚,那么 xx 和 zz 也是亲戚。如果 xx,yy 是亲戚,那么 xx 的亲戚都是 yy 的亲戚,yy 的亲戚也都是 xx 的亲戚。

输入格式

第一行:三个整数 n,m,pn,m,p,(n,m,p \le 5000n,m,p≤5000),分别表示有 nn 个人,mm 个亲戚关系,询问 pp 对亲戚关系。

以下 mm 行:每行两个数 M_iMi​,M_jMj​,1 \le M_i,~M_j\le N1≤Mi​, Mj​≤N,表示 M_iMi​ 和 M_jMj​ 具有亲戚关系。

接下来 pp 行:每行两个数 P_i,P_jPi​,Pj​,询问 P_iPi​ 和 P_jPj​ 是否具有亲戚关系。

输出格式

pp 行,每行一个 Yes 或 No。表示第 ii 个询问的答案为“具有”或“不具有”亲戚关系。

输入输出样例

输入 #1复制

6 5 3
1 2
1 5
3 4
5 2
1 3
1 4
2 3
5 6

输出 #1复制

Yes
Yes
No

代码如下:

#include<bits/stdc++.h>
using namespace std;int par[100000];
int find(int x)
{if(x==par[x]) return x;else return par[x]=find(par[x]);
}void unite(int x , int y)
{x=find(x);y=find(y);if(x!=y) par[x]=y;
}int main(){int n , m , p;int a , b ;cin>>n>>m>>p;for(int i=1;i<=n;i++){par[i]=i;}for(int i=0;i<m;i++){cin>>a>>b;unite(a,b);}for(int i=0;i<p;i++){cin>>a>>b;if(find(a)==find(b)) cout<<"Yes"<<endl;else cout<<"No"<<endl;}return 0;
}

P1551 亲戚 (并查集)相关推荐

  1. P1551 亲戚 并查集

    P1551 亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么 ...

  2. 并查集——亲戚(洛谷 P1551)

    题目选自洛谷P1551 并查集入门题目,简单有趣的例子了解并查集的使用 主要分为三个操作: 1)初始化 没有什么说的,就是用下标当做标号. 2)合并操作 如果两个关系的"老大"不一 ...

  3. P1551 亲戚(并查集)

    亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲 ...

  4. 每日一题——洛谷 P1551 亲戚 (并查集)

    大家好,我是爬行系,今天打卡并查集相关例题 文章目录 并查集 1.概念 2.模板 例题 1.题目描述 2.AC代码 更多练习题 总结 并查集 1.概念 并查集的思想是用一个数组表示了整片森林(pare ...

  5. 洛谷P1551 亲戚(并查集)

    题目链接 思路: 并查集的模板题目 关于并查集相关知识可以看此博客 AC代码 #include<iostream> #include<cstdio> #include<a ...

  6. 亲戚关系关系算法java程序_C++并查集亲戚(Relations)算法实例

    本文实例讲述了C++并查集亲戚(Relations)算法.分享给大家供大家参考.具体分析如下: 题目: 亲戚(Relations) 或许你并不知道,你的某个朋友是你的亲戚.他可能是你的曾祖父的外公的女 ...

  7. 并查集应用-判断亲戚关系

    题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如 ...

  8. 亲戚关系(并查集(YYOJ

    题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如果x,y是 ...

  9. 并查集专题(亲戚,格子游戏,银河英雄传说)

    文章目录 序言 正文 亲戚 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 输入 输出 样例输入 样例输出 讲解 Wrong Answer Code Accepted Code ...

  10. 【图】【并查集】亲戚

    亲戚(relation.cpp) 时间限制: 1 Sec  内存限制: 64 MB 题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易. 现在给出某个亲戚关系图,求任意给出的两个人 ...

最新文章

  1. noip2006总结
  2. 2018年开发者生态体系状态调查报告(第一部分)
  3. 使用Arduino开发ESP32:wifi基本功能使用
  4. 印度孟买机器人餐厅_2020,送餐机器人的海外市场爆发之年
  5. python3.6安装dlib,一直不成功的解决办法
  6. python中调用是什么意思_在Python中调用函数的含义?
  7. [Lua]Lua入门教程
  8. android 串口键盘_侧面滑盖+实体全键盘的安卓手机,能走向大众化吗?
  9. java计算日期之间的天数_使用Java计算两个日期之间的天数
  10. Web2.0之Tag标签原理实现浅析
  11. mac idea 快捷键
  12. 视频教程-四十九课时精通matlab数学建模-Matlab
  13. 快速入门Flink (7) —— 小白都喜欢看的Flink流处理之DataSources和DataSinks
  14. uCOS事件相关函数代码理解
  15. 数据结构李春葆第五版答案
  16. 为啥一定要用残差图检查你的回归分析?
  17. 360安全浏览器屏蔽网页无法访问广告
  18. 《NLTK基础教程》读书笔记 006期
  19. 黑鹰的学习网站--感兴趣的可以去看看
  20. 程序员免费学习编程的5个网站,你知道几个?

热门文章

  1. 常用通达信l2行情接口文件夹说明
  2. 实现手机浏览器跳转微信关注公众号
  3. 刑事犯罪中连续犯与继续犯的区分
  4. 运维工程师之日常巡检
  5. python 数据分析--数据处理工具Pandas(2)
  6. PTA 【java】7-2 将数组中的数逆序存放 (20 分)
  7. Ubuntu18.04+Win10双系统安装步骤 问题排查
  8. CMOS与TTL电路的区别
  9. 通信研究生适合发表的优质期刊(中文)
  10. Boofuzz协议漏洞挖掘入门教程与使用心得