P1551 亲戚(并查集)
亲戚
题目背景
若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。
题目描述
规定: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 亲戚(并查集)相关推荐
- P1551 亲戚 并查集
P1551 亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么 ...
- 并查集——亲戚(洛谷 P1551)
题目选自洛谷P1551 并查集入门题目,简单有趣的例子了解并查集的使用 主要分为三个操作: 1)初始化 没有什么说的,就是用下标当做标号. 2)合并操作 如果两个关系的"老大"不一 ...
- 每日一题——洛谷 P1551 亲戚 (并查集)
大家好,我是爬行系,今天打卡并查集相关例题 文章目录 并查集 1.概念 2.模板 例题 1.题目描述 2.AC代码 更多练习题 总结 并查集 1.概念 并查集的思想是用一个数组表示了整片森林(pare ...
- 洛谷P1551 亲戚(并查集)
题目链接 思路: 并查集的模板题目 关于并查集相关知识可以看此博客 AC代码 #include<iostream> #include<cstdio> #include<a ...
- 亲戚关系关系算法java程序_C++并查集亲戚(Relations)算法实例
本文实例讲述了C++并查集亲戚(Relations)算法.分享给大家供大家参考.具体分析如下: 题目: 亲戚(Relations) 或许你并不知道,你的某个朋友是你的亲戚.他可能是你的曾祖父的外公的女 ...
- 并查集应用-判断亲戚关系
题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如 ...
- 亲戚关系(并查集(YYOJ
题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如果x,y是 ...
- 并查集专题(亲戚,格子游戏,银河英雄传说)
文章目录 序言 正文 亲戚 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 输入 输出 样例输入 样例输出 讲解 Wrong Answer Code Accepted Code ...
- 【图】【并查集】亲戚
亲戚(relation.cpp) 时间限制: 1 Sec 内存限制: 64 MB 题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易. 现在给出某个亲戚关系图,求任意给出的两个人 ...
最新文章
- 图像指针与矩阵格式转换——Mat转uchar*及uchar*转Mat代码实现
- Qt5的cmake文件位置
- Azure Redis 系列之 Azure Redis部署
- java实现给选中文字添加样式,天坑之路:用js给选中文字添加样式
- ubuntu终端按ctrl+s就卡住怎么办?(按ctrl+q)(锁住)(锁屏)(暂停打印)
- 实现一个vue的图片预览插件
- 【新年快乐】缤纷多彩的Vue点赞组件
- 【数据结构与算法】之深入解析二叉树的算法实现和递归套路深度实践
- java反编译,eclipse支持插件
- 9 Characteristics of Free Software Users
- 五个案例“熄灭”Nginx漏洞隐患
- Windows核心编程_远线程方式实现Dll注入
- Atitit 业务领域体系分类 目录 1. 按照互联网企业类型以及只是体系类的分类	2 2. 电子商务	2 3. **通信类社交 Im类 em	2 4. **信息搜索类爬虫	2 4.1. 媒体
- html svg 编辑器
- java/php/net/python房产信息管理系统设计
- Shader入门精要-1-渲染流水线数学基础
- u盘启动pe一键装机的步骤教程,u盘如何安装系统
- Sai 2 打开文件显示没有注册类的解决方法
- 亚马逊账号关联的后果是什么
- 微软面试题之数字谜题