当前位置: 首页 > news >正文

洛谷 P1551 亲戚

题目背景

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

题目描述

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

输入格式

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

以下 m 行:每行两个数 Mi​,Mj​,1≤Mi​, Mj​≤n,表示 Mi​ 和 Mj​ 具有亲戚关系。

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

输出格式

p 行,每行一个YesNo。表示第 i 个询问的答案为“具有”或“不具有”亲戚关系。

输入输出样例

输入 #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 n,m,p; const int N=5010; int fa[N]; int find(int x) { if(x==fa[x]) return x; else return fa[x]=find(fa[x]); } int main() { cin>>n>>m>>p; for(int i=1;i<=n;i++) fa[i]=i; for(int i=1;i<=m;i++) { int m1,m2; cin>>m1>>m2; int fa1=find(m1); int fa2=find(m2); fa[fa1]=fa2; } for(int i=1;i<=p;i++) { int p1,p2; cin>>p1>>p2; if(find(p1)==find(p2)) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }
http://www.jsqmd.com/news/102645/

相关文章:

  • 开发过程中动态 SQL 中where 1=1的作用是什么
  • 为什么你的healthcheck没生效?:深入剖析Docker Compose Agent检测逻辑
  • 开源MoneyNote:打造你的个人财务管家
  • Kafka-UI内网部署实战指南:从零搭建企业级管理平台
  • d2s-editor终极指南:暗黑破坏神2存档修改完全教程
  • 如何快速批量下载抖音视频:终极自动化工具使用指南
  • DeepSeek-Math实战指南:从入门到精通的深度解析
  • 10分钟快速搭建个人专属气象数据平台:Open-Meteo实战指南
  • 摔倒检测和识别3:基于深度学习YOLOv12神经网络实现摔倒检测和识别(含训练代码、数据集和GUI交互界面)
  • LobeChat能否接入API密钥计费系统?用于Token售卖的可行性探讨
  • 客服管理软件选型决策法:从需求梳理到技术验证的全流程指南
  • 筑牢招聘防线:员工诚信背调的核心价值与实践要点
  • Mem Reduct终极指南:免费内存优化工具完整教程
  • 如何在普通GPU上运行70亿参数Llama-2对话模型:完整实践指南
  • Kafka-UI内网部署实战:三步搞定隔离环境集群管理
  • Obsidian样式设置插件完全指南:从零开始打造个性化笔记界面
  • Windows远程桌面增强终极指南:简易实现多用户并发与家庭版解锁
  • MySQL主从数据同步实战
  • 鸿蒙MindSpore Lite 离线模型转换指南
  • 神经网络(1)基本原理 正向传播 - MKT
  • UniExtract2深度评测:万能文件提取工具的技术解析与实战应用
  • 5分钟掌握微信QQ消息完整保存:全平台防撤回实用指南
  • Shell脚本入门:让重复工作一键完成
  • 5分钟搞定GitHub同款文档样式:github-markdown-css实战指南
  • 3分钟掌握Windows系统日志监控的完整解决方案
  • 终极免费Windows内存清理工具:快速优化系统性能
  • VNote终极安装配置指南:快速上手跨平台Markdown笔记工具
  • Java程序员狂喜!飞算JavaAI一键修Bug,从此告别通宵,准时下班不是梦
  • Java程序员封神!飞算JavaAI一键终结头秃改Bug,效率直接拉满
  • 18、Yocto项目应用开发中的SDK使用指南