一直过不去,不知道为啥,在本地一点问题都没有。。。
思路是递归求解

题目描述: 如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如果A,B是C的(外)祖父,祖母,则A,B是C的grandparent,C是A,B的grandchild,如果A,B是C的(外)曾祖父,曾祖母,则A,B是C的great-grandparent,C是A,B的great-grandchild,之后再多一辈,则在关系上加一个great-。

输入描述:

输入包含多组测试用例,每组用例首先包含2个整数n(0<=n<=26)和m(0<m<50), 分别表示有n个亲属关系和m个问题, 然后接下来是n行的形式如ABC的字符串,表示A的父母亲分别是B和C,如果A的父母亲信息不全,则用-代替,例如A-C,再然后是m行形式如FA的字符串,表示询问F和A的关系。

输出描述:

如果询问的2个人是直系亲属,请按题目描述输出2者的关系,如果没有直系关系,请输出-。
具体含义和输出格式参见样例.

测试用例的输入:

10 10
EKL
LPY
YQR
RBG
GJD
DWT
TCA
AXZ
ZSN
NIF
DF
LX
SI
BG
GJ
WK
DJ
RW
TS
QI

测试用例的输出:

#include<iostream>using namespace std;
int father[26], mother[26];bool find(int old,int young,int& res) {//假设i为j的祖先bool flag1 = false, flag2 = false;if (old == young)return true;if (father[young] != young) {flag1 = find(old, father[young], res);}if (mother[young] != young) {flag2 = find(old, mother[young], res);}if (flag1 || flag2) res++;else return false;
}
int main() {int n, m;while (cin >> n >> m) {for (int i = 0; i < 26; i++) {father[i] = mother[i] = i;}for (int i = 0; i < n; i++) {string relation;cin >> relation;char self = relation[0];char fa = relation[1];char mo = relation[2];if (fa != '-') {father[self - 'A'] = fa - 'A';}if (mo != '-') {mother[self - 'A'] = mo - 'A';}}for (int i = 0; i < m; i++) {string q;cin >> q;int q0 = q[0] - 'A';int q1 = q[1] - 'A';int res = 0;string ans = "";bool flag1 = find(q0, q1, res);if (flag1) {if (res > 1) {while (res > 2) {ans += "great-";//cout << "great-";res--;}ans += "grandparent";//cout << "grandparent" << endl;cout << ans << endl;}else {cout << "parent" << endl;}continue;}res = 0;bool flag2 = find(q1, q0, res);if (flag2) {if (res > 1) {while (res > 2) {ans += "great-";//cout << "great-";res--;}ans += "grandchild";cout << ans << endl;//cout << "grandchild" << endl;}else {cout << "child" << endl;}continue;}cout << "-" << endl;}}
}

找出直系亲属 牛客网相关推荐

  1. 牛客网算法教程-中级篇-第一章

    文章目录 学习目标: 学习内容: 学习时间: 学习产出: 1.旋转词-模拟 2.旋转矩阵-模拟 3.数轴覆盖-贪心 4.1 完整字符串1(括号字符串的有效性)-栈 4.2 完整字符串2(缺失的括号)- ...

  2. 找工作、备考、面试刷题网站推荐(牛客网、力扣、计蒜客、hihocoder、七月在线)以及acm竞赛oj

    不管是找工作笔试面试白板试进大厂,还是研究生参加初试复试,数据结构和算法都是都是重中之重,刷题就很必要,来拿走自己的offer 吧! 一.offer刷题推荐 1.牛客网 链接:牛客网 - 找工作神器| ...

  3. 牛客网 栈的压入、弹出序列

    链接:https://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106 来源:牛客网 [编程题]栈的压入.弹出序列 ...

  4. 牛客网matlab怎么输入数据,从牛客上找的面经

    转自:牛客网 作者:雲水謡 链接:https://www.nowcoder.com/discuss/262804 来源:牛客网 OPPO-计算机视觉算法(sp) 一面: 大约40分钟吧,主要聊项目,问 ...

  5. 牛客网 水题 递推找规律

    链接: https://www.nowcoder.com/acm/contest/91/E 来源:牛客网 小Y买了很多苹果,但他很贪吃,过了几天一下就吃剩一只了.每一天小Y会数出自己的苹果个数X,如果 ...

  6. 牛客网 F题 集训队脱单大法:这是一道只能由学姐我自己出数据的水题

    链接:https://ac.nowcoder.com/acm/contest/322/F 来源:牛客网 集训队脱单大法:这是一道只能由学姐我自己出数据的水题 时间限制:C/C++ 1秒,其他语言2秒 ...

  7. 牛客网在线编程----算法入门篇

    标题本篇博文主要是记录下自己的在线编程情况,初次练习,有的算法还待改进,大家有需要可以去牛客网上面多练练! 有需戳–>牛客网在线编程 NC65.题目描述 大家都知道斐波那契数列,现在要求输入一个 ...

  8. 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库

    牛客网SQL实战网址:https://www.nowcoder.com/ta/sql 持续更新--记录自己在牛客网SQL的做题过程 更新进度:61题,2019-4-3,更完了 1.查找最晚入职员工的所 ...

  9. 牛客网平台常州大学新生寒假训练会试

    A-添加逗号 链接:https://www.nowcoder.net/acm/contest/78/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其 ...

  10. 牛客网《BAT面试算法精品课》学习笔记

    目录 牛客网<BAT面试算法精品课>学习笔记 牛客网<BAT面试算法精品课>笔记一:排序 牛客网<BAT面试算法精品课>笔记二:字符串 牛客网<BAT面试算法 ...

最新文章

  1. Verilog初级教程(7)Verilog模块例化以及悬空端口的处理
  2. java 正方形字符串_java编程:怎么画一个正方形?
  3. iOS开发学习之MapKit - 获得在MapView(地图)中显示多个标记的区域(MKCoordinateRegion)...
  4. flink代码出现no instance(s) of type variable(s) T0, T1, T2 exist
  5. 数据结构——交换左右子树
  6. :批量制作档案表,要从excel表格中将每个人的数据导入到docx档案
  7. php无嵌套遍历多维数组,不递归怎么遍历多维数组(维数不定)
  8. jQuery 仿写京东轮播广告图
  9. 为什么计算机软件是无形资产,购买软件是否属于无形资产
  10. .nav ul .mall a:hover是什么意思
  11. 修改金仓数据库KingbaseES端口
  12. Ruby与kiba的初学者etl教程
  13. 英国部份城市中英文对照
  14. ffmepg 视频添加水印 —— 筑梦之路
  15. java this final_JAVA中的this,final,surper的用法
  16. 笔记本CPU低压和标压有什么区别?
  17. Android中 根据电话号码获取联系人姓名
  18. hdu 3374 String Proble
  19. 机器学习(二)-一元线性回归算法(代码实现及数学证明)
  20. APP(UniAPP) 支付宝支付操作指导 + 遇到的坑(PHP实现)

热门文章

  1. Vue属性书写顺序推荐:
  2. 题解 UVA1449 【Dominating Patterns】
  3. 推荐10 款 C++ 在线编译器
  4. 微信小程序获取用户微信绑定手机号
  5. 【机器学习基础】误差分析
  6. Banner大小之国际标准
  7. 如何给计算机添加密码,怎么给电脑设置密码,手把手教你电脑怎么设置密码
  8. 使用Flash在线制作头像
  9. php怎么分栏,wps怎么分栏排版
  10. win7连接xp共享打印机方法