亲戚

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

题目描述
规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。

输入格式
第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。

以下m行:每行两个数Mi,Mj,1<=Mi,Mj<=N,表示Mi和Mj具有亲戚关系。

接下来p行:每行两个数Pi,Pj,询问Pi和Pj是否具有亲戚关系。

输出格式
P行,每行一个’Yes’或’No’。表示第i个询问的答案为“具有”或“不具有”亲戚关系。

输入输出样例
输入
6 5 3
1 2
1 5
3 4
5 2
1 3
1 4
2 3
5 6
输出
Yes
Yes
No
说明/提示
非常简单的并查集入门题哦!!!

正解
就是一道并查集模板
先用并查集合并2到m+1行,每行的两个数字
再用find(),找,看m+2到最后一行的两个数是否在同一个集合

并查集
AC代码

#include<iostream>
#include<cstdio>
using namespace std;
int n,m,p,x,y,pre[5005];
int find(int x)//找爸爸+路径压缩
{if(pre[x]==0)return x;return pre[x]=find(pre[x]);
}
void bcj(int x,int y)//并查集
{int x1=find(x),y1=find(y);//找爸爸if(x1!=y1)pre[y1]=x1;//合并
}
int main()
{cin>>n>>m>>p;for(int i=1;i<=m;i++){cin>>x>>y;bcj(x,y);//并查集}for(int i=1;i<=p;i++){cin>>x>>y;if(find(x)==find(y))cout<<"Yes"<<endl;//看是否在同一个集合else cout<<"No"<<endl;}return 0;
}

谢谢观看

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

  1. P1551 亲戚 并查集

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 图像指针与矩阵格式转换——Mat转uchar*及uchar*转Mat代码实现
  2. Qt5的cmake文件位置
  3. Azure Redis 系列之 Azure Redis部署
  4. java实现给选中文字添加样式,天坑之路:用js给选中文字添加样式
  5. ubuntu终端按ctrl+s就卡住怎么办?(按ctrl+q)(锁住)(锁屏)(暂停打印)
  6. 实现一个vue的图片预览插件
  7. 【新年快乐】缤纷多彩的Vue点赞组件
  8. 【数据结构与算法】之深入解析二叉树的算法实现和递归套路深度实践
  9. java反编译,eclipse支持插件
  10. 9 Characteristics of Free Software Users
  11. 五个案例“熄灭”Nginx漏洞隐患
  12. Windows核心编程_远线程方式实现Dll注入
  13. Atitit 业务领域体系分类 目录 1. 按照互联网企业类型以及只是体系类的分类 2 2. 电子商务 2 3. **通信类社交 Im类 em 2 4. **信息搜索类爬虫 2 4.1. 媒体
  14. html svg 编辑器
  15. java/php/net/python房产信息管理系统设计
  16. Shader入门精要-1-渲染流水线数学基础
  17. u盘启动pe一键装机的步骤教程,u盘如何安装系统
  18. Sai 2 打开文件显示没有注册类的解决方法
  19. 亚马逊账号关联的后果是什么
  20. 微软面试题之数字谜题

热门文章

  1. 网线连接网络有黄色感叹号
  2. HashMap 为什么是2倍扩容
  3. php 序列化转义冒号,Json数据中有冒号以及其它特殊字符序列化总结
  4. Android App 可以定时启动! 并且完成短信自动发送获取内容功能 (以获取闪讯密码为例 大学宿舍宽带)
  5. 聚宽JQData说明书
  6. Word调查问卷表格统计
  7. 计算机网络原理知识点之ISO模型解析
  8. 乡村振兴公益基金启动暨古茶树非遗保护公益行发布
  9. 学习Cocos的第二天-序列帧动画
  10. js 12:00时间加上半小时,返回小时和分钟