思路:由于没有分左右节点,故不用分左右子树。直接建立从母节点到子节点的的树即可

#include<iostream>
using namespace std;
#include<string>
int n,m;
int tree[150];
string fa[3]={"","parent","grandparent"};
string son[3]={"","child","grandchild"};int steps;void initial()
{for(int i=0;i<150;i++)tree[i]=i;
}int find(int x,int y)  //return numbers of pile
{int i=0;while(tree[x]!=x)   //from father ->son{i++;if(tree[x]==y){return i;}x=tree[x];}return 0;
}int main()
{cin>>n>>m;string mm;string nn;initial();for(int i=0;i<n;i++){cin>>mm;if(mm[1]!='-')tree[mm[1]-'A']=mm[0]-'A';if(mm[2]!='-')tree[mm[2]-'A']=mm[0]-'A';}for(int j=0;j<m;j++){cin>>nn;if(steps=find(nn[0]-'A',nn[1]-'A')){if(steps<3){cout<<fa[steps]<<endl;}else {for(int m=1;m<=steps-2;m++)cout<<"great-";cout<<fa[2]<<endl;}}else if(steps=find(nn[1]-'A',nn[0]-'A')){if(steps<3){cout<<son[steps]<<endl;}else {for(int m=1;m<=steps-2;m++)cout<<"great-";cout<<son[2]<<endl;}}else cout<<'-'<<endl;}return 0;
}

找出直系亲属 研究生机试 树相关推荐

  1. 九度OJ 1035:找出直系亲属(二叉树)

    题目1035:找出直系亲属 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1309 解决:521 题目描述: 如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如 ...

  2. 2013年王道论坛研究生机试练习赛(一)东邪他爹解答

    题目1467:二叉排序树 题目描述: 二叉排序树,也称为二叉查找树.可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 1. 若左子树非空,则左子树上所有节点关键字值均不大于根节点的关键字值: 2 ...

  3. 211大学计算机复试不机试,复试机试之上海交通大学计算机研究生机试真题.doc...

    复试机试之上海交通大学计算机研究生机试真题 (你自己回去改格式啊,这个有多重繁杂字体,你自己改好看点~~还有知识05年到11年的)复试机试之2011年上海交通大学计算机研究生机试真题 (2012-02 ...

  4. hdu3786 找出直系亲属 水题

    题意: 找出直系亲属 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. 2000年华中科技大学计算机研究生机试真题 对称矩阵

    题目1180:对称矩阵 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2518 解决:1295 题目描述: 输入一个N维矩阵,判断是否对称. 输入: 输入第一行包括一个数:N(1<= ...

  6. HDU3786 找出直系亲属【关系闭包】

    找出直系亲属 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  7. KY122 找出直系亲属

    KY122 找出直系亲属 def cntGen(parentsDict, descendant, ascendant):if descendant not in parentsDict:return ...

  8. 九度[1035]-找出直系亲属

    九度[1035]-找出直系亲属 题目描述: 如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如果A,B是C的(外)祖父,祖母,则A,B是C的grandparent,C是A, ...

  9. 2011年北京大学计算机研究生机试真题(dijkstra+优先队列)

    http://ac.jobdu.com/problem.php?pid=1162  I Wanna Go Home 方法一:普通的dijkstra /* 很明显的最短路,但关键是如何建图.可以看到,一 ...

  10. 上海交大研究生计算机考研真题,2011年上海交通大学计算机研究生机试真题

    Oracle 约束(constraint)的几个参数的小研究 ORACLE中,约束分deferred 跟 immediate 2种: deferred:如果 Oracle 在事务提交(commit)时 ...

最新文章

  1. 我的Java开发学习之旅------Java经典排序算法之希尔排序
  2. linux 命令输出 保存到文件 日志记录
  3. python最基本的规则是什么_2015/8/26 Python基础(1):基本规则及赋值
  4. qt qtreewidget 设置 值_QTreeWidget
  5. java 调整数组顺序使奇数位于偶数前面
  6. 《网络安全原理与实践》一第1章 网络安全介绍
  7. java 日志使用_Java日志正确使用姿势
  8. CentOS5.11安装Mac桌面主题
  9. OpenGL基础41:几何着色器
  10. Prescan:关于Prescan与Matlab联合仿真问题小总(不定时补充)
  11. STM32应用笔记分类汇总,值得收藏
  12. 学计算机二级的免费软件,计算机二级MS模拟软件
  13. 接口--PCI/PCIE
  14. 现有的数字版权保护大全
  15. 【只推荐一位】木东居士,数据挖掘的大神!
  16. LeCo-136. 只出现一次的数字
  17. 复习IO流复制文件时,文件损坏并且文件变得超大(FileInputStream和FileOutputStream)数组复制
  18. 【学习打卡 Free-Excel 】Task4 表合并
  19. 从诱发反应中解码动态脑模式:应用于时间序列神经成像数据的多元模式分析教程
  20. R语言学习-----数据的载入

热门文章

  1. 自考2018版《管理经济学》第一章导论——思维导图
  2. 单片机外设LCD1602液晶屏的介绍
  3. 深入浅出matplotlib(9):知道两点坐标画直线
  4. 频率变标算法(FSA,Frequency Scaling)
  5. linux 内存强度测试软件,Linux系统性能测试工具(一)——内存带宽测试工具mbw...
  6. 『TensorFlow』SSD源码学习_其五:TFR数据读取数据预处理
  7. 和我一步步部署 kubernetes 集群
  8. windows系统引导配置命令
  9. marked 用户手册 在线查看
  10. 2015 iMac如何绕过TMP安装Windows11(不用Parallels虚拟机实现macOS与Windows11双系统)