博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找出直系亲属
阅读量:5797 次
发布时间:2019-06-18

本文共 1899 字,大约阅读时间需要 6 分钟。

题目描述:
    如果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的关系。
    当n和m为0时结束输入。
输出:
    如果询问的2个人是直系亲属,请按题目描述输出2者的关系,如果没有直系关系,请输出-。
    具体含义和输出格式参见样例.
样例输入:
3 2ABCCDEEFGFABE0 0
样例输出:
great-grandparent-
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 17 18 using namespace std; 19 20 21 22 struct Node{ 23 char id; 24 int lch,rch; 25 }node[1000]; 26 27 int length=1; 28 29 30 int dep; 31 32 33 int findfa(int v1,int v2,int depp) 34 { 35 36 if(v1==0) 37 return 0; 38 39 if(v1==v2) 40 { 41 dep=depp; 42 return 1; 43 } 44 else 45 { 46 findfa(node[v1].lch,v2,depp+1); 47 findfa(node[v1].rch,v2,depp+1); 48 } 49 return 0; 50 } 51 52 53 54 55 56 int main() 57 { 58 59 60 int n,m; 61 62 int i,j,k; 63 64 while(scanf("%d%d",&n,&m)!=EOF) 65 { 66 if((n==0)&&(m==0)) 67 break; 68 69 getchar(); 70 71 for(i=1;i<=26;i++) 72 { 73 node[i].lch=node[i].rch=0; 74 } 75 76 77 78 int ans='A'-1; 79 for(i=0;i
2)134 {135 printf("great-");136 dep--;137 }138 139 printf("grandparent\n");140 }141 }142 }143 else144 {145 if(dep==1)146 {printf("child\n");}147 else if(dep==2)148 {149 printf("grandchild\n");150 }151 else152 {153 while(dep>2)154 {155 printf("great-");156 dep--;157 }158 159 printf("grandchild\n");160 }161 162 }163 }164 165 166 }167 168 169 170 171 172 173 174 175 176 return 0;177 }

 

转载于:https://www.cnblogs.com/zjushuiping/archive/2012/05/30/2526864.html

你可能感兴趣的文章
svn命令在linux下的使用
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
SpringCloud使用Prometheus监控(基于Eureka)
查看>>
10g手动创建数据库
查看>>
Spring MVC EL表达式不能显示
查看>>
【致青春】我们挥霍时间的年代
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
SAS和SATA硬盘的区别
查看>>
现代程序设计 学生情况调查
查看>>
U盘安装linux后无法引导
查看>>
C# 矩阵作业
查看>>
俺的新书《Sencha Touch实战》终于出版了
查看>>
关于数据库查询时报“query block has incorrect number of result columns”
查看>>
li下的ul----多级列表
查看>>
UVa 11292 勇者斗恶龙(The Dragon of Loowater)
查看>>
区域生长算法
查看>>
switch语句小练习
查看>>
组合逻辑电路
查看>>
POP-一个点击带有放大还原的动画效果
查看>>