天梯题集——愿天下有情人都是失散多年的兄妹(隐藏条件)

2023-11-11

愿天下有情人都是失散多年的兄妹

t1
t2

解题思路

利用结构体读入每个 ID 下数据
隐藏条件:标记父母的性别 (卡死个人)

假设判断 a,b 是否可通婚
同性输出 “Never Mind”
不同性 bfs标记 a 的五代内的祖先 check检查 b 五代内的祖先
			b 五代内的祖先被标记过 输出“No”
			b 五代内的祖先全部未被标记过 输出“Yes”
#include<bits/stdc++.h>
using namespace std;
bool judge[100010];
int flag;
struct node{
	int fa, ma;
	char sex;
}num[100010];

void bfs(int a, bool *judge, int k){
	if(k==5) return;
	int x = num[a].fa;
	int y = num[a].ma;
	if(x!=0&&x!=-1){
		judge[x]=true;
		bfs(x, judge, k+1);
	}
	if(y!=0&&y!=-1){
		judge[y]=true;
		bfs(y, judge, k+1);
	}
	return ;
}

void check(int a, bool *judge, int k){
	if(k==5||flag) return;
	int x = num[a].fa;
	int y = num[a].ma;
	if(x!=-1&&x!=0){
		if(judge[x]){
			flag=1;
			return;
		}
		else
			check(x, judge, k+1);
	}
	if(y!=-1&&y!=0){
		if(judge[y]){
			flag=1;
			return;
		}
		else
			check(y, judge, k+1);
	}
	
	return ;
}

int main(){
	int n;
	cin>>n;
	for(int i=0; i<n; i++){
		int index;
		cin>>index;
		cin>>num[index].sex>>num[index].fa>>num[index].ma;
		num[num[index].fa].sex = 'M';
		num[num[index].ma].sex = 'F';
	}
	int k;
	cin>>k;
	for(int i=0; i<k; i++){
		int a, b;
		flag=0;
		cin>>a>>b;
		if(num[a].sex==num[b].sex){
			cout<<"Never Mind\n";
		}	
		else{
			memset(judge, false, sizeof(judge));
			bfs(a, judge, 1);
			check(b, judge, 1);
			if(!flag)
				cout<<"Yes\n";
			else
				cout<<"No\n";
		}
	}
	
	return 0;
} 

总结

一开始没标记父母性别,想来想去都不知道哪里的问题。
题目中的隐藏条件,再一次说明细节真的很重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

天梯题集——愿天下有情人都是失散多年的兄妹(隐藏条件) 的相关文章

随机推荐

  • 数据分析毕业设计 全国疫情数据分析与3D可视化 - python 大数据

    文章目录 0 前言 1 课题背景 2 实现效果 3 设计原理 4 部分代码 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不
  • Java入门之二维向量定义及相加

    6 2 二维向量定义及相加 Java 10 分 裁判测试程序样例中展示的是一段二维向量类TDVector的定义以及二维向量求和的Java代码 其中缺失了部分代码 请补充完整 以保证测试程序正常运行 函数接口定义 提示 需要补充的成员方法有
  • 最优解算法的讨论

    不懂优化的人希望能有通用的方法来解决他手头的问题 但不幸的事没有这种方法存在 快速的方法都需要某些条件 比如常见的有强凸 线性 可分解啥的 目前研究的比较成熟的就是强凸光源可分解 非凸没有特别有效的方法来解 如果是强凸的 何必用那么复杂的方
  • python实战-读取xlsx表格批量替换文件名

    文章目录 一 前言 二 解决思路 三 具体代码实现 四 总结 一 前言 一位在校当老师的同学遇到了一个需求 学生1寸照片是以学生姓名命名 现在需要重命名1寸照片 重命名为exel里对应的学生姓名的身份证号码 我心想这个需求很容易实现 照片有
  • springboot初始化修改yml文件并加载

    package com lezu springboot config import org springframework core io ClassPathResource import org springframework core
  • Pytorch dataloader中的num_workers (选择最合适的num_workers值)

    num workers是Dataloader的概念 默认值是0 是告诉DataLoader实例要使用多少个子进程进行数据加载 和CPU有关 和GPU无关 如果num worker设为0 意味着每一轮迭代时 dataloader不再有自主加载
  • 使用fo-dicom读取Dicom文件的PixelData信息及像素信息(C# / fo-dicom)

    安装fo dicom 在vs中安装fo dicom 点击解决方案 右键选择管理解决方案的NuGet程序包 打开窗口后 在浏览框输入fo dicom进行搜索 然后选择fo dicom 勾选后点击安装即可 读取Dicom文件并获取PixelDa
  • 智能指针与句柄详解(一)

    前言 智能指针与引用计数详解 一 中提到实现智能指针有两种方法 一种是引用计数 另一种就是句柄类实现 什么是句柄类 句柄类是用来存储和管理基类指针 指针所指对象的类型可以变化 它既可以指向基类类型对象又可以指向派生类型对象 用户通过句柄类访
  • C++ 版 Opencv4 通过迭代器访问Mat类矩阵中的元素错误

    错误说明 很多教程中的示例代码如下 cv Mat a 3 4 CV 8UC3 cv Scalar 1 2 3 cv MatIterator
  • 手机端分页上拉下拉动画样式

    pullload scss pull load position relative overflow y scroll webkit overflow scrolling touch pull load head position abso
  • 微信小程序 webview mp4视频 在ios无法播放 安卓和谷歌浏览器正常

    记一次微信小程序开发 视频兼容问题 参考链接 https www jianshu com p 31f0593496ef 问题描述 微信小程序 内嵌webview 利用video标签播放流媒体视频 部分视频 报错 error 问题确认 安卓正
  • 2023最新网络安全毕业设计题目选题大全

    0 简介 毕业季马上就要开始了 不少同学询问学长网安专业选题以及开题相关的问题 今天跟大家分享信息安全毕设选题 最新的信息安全 网络安全 专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖
  • C++对象调用优化

    C 对象调用优化 临时对象拷贝构造新对象 临时对象就不会产生 常见的对象调用过程 c 编译器对于对象构造的优化 用临时对象拷贝新对象的时候 临时对象就不产生了 直接构造新对象就可以了 include
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 打造智能机器人的秘诀:利用ChatGPT提示词,让机器人更聪明

    当我们与聊天机器人交互时 我们希望它们能够理解我们的意图并提供准确 有针对性和完整的答案 然而 聊天机器人并不是神 它们需要我们的帮助才能更好地服务我们 在使用ChatGPT时 提示词就像是聊天机器人的 灵魂 可以帮助ChatGPT更好地理
  • 最近都在说移民火星,这些黑科技你了解吗?

    点击查看全文 火星移民计划是由埃隆 马斯克所对媒体透露的移民火星并在火星建立社区的计划 尽管被曝出是骗局 许多人还是对这一计划抱有极大兴趣 近年来除了美国宇航局NASA 就连民间机构SpaceX 亚马逊 荷兰公司等都着手研发火星计划 预计在
  • 死循环任务的线程结束方式

    文章目录 前言 一 两种方法 1 方法一 2 方法二 二 代码实例 1 方法一 2 方法二 总结 记录于2021年11月16日 前言 以下介绍的两种方发的适用情景不同 可根据具体需求选择使用 一 两种方法 1 方法一 用定时器去结束任务 设
  • 20230907docker安装MySQL配置

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 docker 安装 启动 docker安装 docker 设置开机启动并立即运行 docker国内镜像源配置 二 docker安装mysql 1 从hub
  • 用几句话说一说CMake add_dependencies & target_link_libraries的使用区别

    简单说一说前两天学习使用CMake解决链接问题时遇到的一个问题 对于编译时遇到的依赖问题 很多时候我们只需要一句target link libraries就可以搞定 但是CMake还有另外一个command add dependencies
  • 天梯题集——愿天下有情人都是失散多年的兄妹(隐藏条件)

    愿天下有情人都是失散多年的兄妹 解题思路 利用结构体读入每个 ID 下数据 隐藏条件 标记父母的性别 卡死个人 假设判断 a b 是否可通婚 同性输出 Never Mind 不同性 bfs标记 a 的五代内的祖先 check检查 b 五代内