P1551 亲戚 (并查集)
题目背景
若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。
题目描述
规定: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 亲戚 (并查集)相关推荐
- P1551 亲戚 并查集
P1551 亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么 ...
- 并查集——亲戚(洛谷 P1551)
题目选自洛谷P1551 并查集入门题目,简单有趣的例子了解并查集的使用 主要分为三个操作: 1)初始化 没有什么说的,就是用下标当做标号. 2)合并操作 如果两个关系的"老大"不一 ...
- P1551 亲戚(并查集)
亲戚 题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲 ...
- 每日一题——洛谷 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 题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易. 现在给出某个亲戚关系图,求任意给出的两个人 ...
最新文章
- noip2006总结
- 2018年开发者生态体系状态调查报告(第一部分)
- 使用Arduino开发ESP32:wifi基本功能使用
- 印度孟买机器人餐厅_2020,送餐机器人的海外市场爆发之年
- python3.6安装dlib,一直不成功的解决办法
- python中调用是什么意思_在Python中调用函数的含义?
- [Lua]Lua入门教程
- android 串口键盘_侧面滑盖+实体全键盘的安卓手机,能走向大众化吗?
- java计算日期之间的天数_使用Java计算两个日期之间的天数
- Web2.0之Tag标签原理实现浅析
- mac idea 快捷键
- 视频教程-四十九课时精通matlab数学建模-Matlab
- 快速入门Flink (7) —— 小白都喜欢看的Flink流处理之DataSources和DataSinks
- uCOS事件相关函数代码理解
- 数据结构李春葆第五版答案
- 为啥一定要用残差图检查你的回归分析?
- 360安全浏览器屏蔽网页无法访问广告
- 《NLTK基础教程》读书笔记 006期
- 黑鹰的学习网站--感兴趣的可以去看看
- 程序员免费学习编程的5个网站,你知道几个?