L2-016. 愿天下有情人都是失散多年的兄妹(深搜)*
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int flag;
struct node
{
int dad,mom,sex,bh;
node():dad(),mom(),sex(),bh(-){}
}peo[];
void mark(int x,int p,int cs)
{
if(cs==||peo[x].dad==)
return ; if(peo[x].dad!=-)
{
mark(peo[x].dad,p,cs+);
peo[peo[x].dad].bh=p;
}
if(peo[x].mom!=-)
{
peo[peo[x].mom].bh=p;
mark(peo[x].mom,p,cs+);
}
}
void match(int x,int p,int cs)
{
if(cs==||peo[x].dad==||flag)
return ; if(peo[x].dad!=-)
{ if(peo[peo[x].dad].bh==p)
flag=;
else
match(peo[x].dad,p,cs+);
}
if(peo[x].mom!=-)
{ if(peo[peo[x].mom].bh==p)
flag=;
else
match(peo[x].mom,p,cs+);
} }
int main()
{
int n;
while(cin>>n)
{
int a,fa,ma;
char c;
for(int i=;i<n;++i)
{
cin>>a>>c>>fa>>ma; if(c=='M')
peo[a].sex=;
else
peo[a].sex=; peo[a].dad=fa;
peo[a].mom=ma; if(fa!=-)
peo[fa].sex=;
if(ma!=-)
peo[ma].sex=;
} int m,x,y;
cin>>m;
for(int i=;i<m;++i)
{
flag=;
cin>>x>>y;
int j;
if(peo[x].sex==peo[y].sex)
cout<<"Never Mind"<<endl;
else
{
mark(x,i,);
match(y,i,);
if(flag)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
}
}
}
L2-016. 愿天下有情人都是失散多年的兄妹(深搜)*的更多相关文章
- PAT L2-016 愿天下有情人都是失散多年的兄妹(深搜)
呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入 ...
- L2-016 愿天下有情人都是失散多年的兄妹
L2-016 愿天下有情人都是失散多年的兄妹 (25 分) 呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你 ...
- 愿天下有情人都是失散多年的兄妹(bfs)
L2-016. 愿天下有情人都是失散多年的兄妹 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 呵呵.大家都知道五服以内不得通婚 ...
- PAT L2-016. 愿天下有情人都是失散多年的兄妹 (BFS)
L2-016. 愿天下有情人都是失散多年的兄妹 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 呵呵.大家都知道五服以内不得通婚 ...
- 【PTA 天梯赛】L2-016. 愿天下有情人都是失散多年的兄妹(深搜)
呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入 ...
- L2-016 愿天下有情人都是失散多年的兄妹(25 分)
呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入 ...
- PAT L2-016 愿天下有情人都是失散多年的兄妹
https://pintia.cn/problem-sets/994805046380707840/problems/994805061769609216 呵呵.大家都知道五服以内不得通婚,即两个人最 ...
- PAT 天梯赛练习集 L2-016. 愿天下有情人都是失散多年的兄妹
题目链接:https://www.patest.cn/contests/gplt/L2-016 呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母. ...
- PTA7-2 愿天下有情人都是失散多年的兄妹
呵呵.大家都知道五服以内不得通婚,即两个人最近的共同祖先如果在五代以内(即本人.父母.祖父母.曾祖父母.高祖父母)则不可通婚.本题就请你帮助一对有情人判断一下,他们究竟是否可以成婚? 输入格式: 输入 ...
随机推荐
- 复旦高等代数 II(17级)每周一题
本学期将继续进行高等代数每周一题的活动.计划从第一教学周开始,到第十六教学周为止(根据法定节假日安排,中间个别周会适当地停止),每周的周末将公布1道思考题(共16道),供大家思考和解答.每周一题通过“ ...
- Win32汇编学习(11):对话框(2)
我们将进一步学习对话框,探讨如何把对话框当成输入设备.如果您看了前一篇文章,那就会发现这次的例子只有少量的改动,就是把我们的对话框窗口附属到主窗口上.另外,我们还要学习通用对话框的用法. 理论: 把对 ...
- P4312 [COCI 2009] OTOCI / 极地旅行社
思路 LCT维护和的板子 注意findroot的时候要先access一下,修改点权之前要先splay到根 代码 #include <cstdio> #include <algorit ...
- JavaScript(类型转换、条件语句、循环、函数)
类型装换 转为数字类型 // Number console.log(Number(undefined)); //NaN console.log(Number(null)); //0 console.l ...
- vue 全局变量
// g.vue <script> // 用于放置全局变量的组件 export default { test: 'test', } </script> // 方法一 g.vue ...
- 记 Java 各版本新特性
Java 8: Lambda 表达式: (paramList) -> expression; 或者 (paramList) -> {statments;} 演示用例: public int ...
- 剑指offer 02:替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 解题代码 public cla ...
- java Encryption&Decryption
The encryption class: package cn.com.smartcost.qy.util; import java.security.Key; import java.securi ...
- Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法
Qt 程序获取程序所在路径.用户目录路径.临时文件夹等特殊路径的方法 经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径.用户目录路径.临时文件夹等.在 Qt 中实现这几个功能所用的方法虽然都 ...
- mybatis分页插件PagePlugin
查询的参数对象里面继承PageInfoWrapper类(也可以不继承这个类,但要保证查询参数对象里面必须要有一个PageInfo属性) 分页信息都在PageInfo这个类里,查询的时候,分页参数,填充 ...