• 一家人


    题目描述

    最近zzq交了一个新朋友叫cj,他们在聊天的时候发现500年前他们竟然是一家人!现在zzq想知道cj是他的长辈,晚辈,还是兄弟。

    输入

    输入包含多组测试数据。每组首先输入一个整数N(N<=10),接下来N行,每行输入两个整数a和b,表示a的父亲是b(1<=a,b<=20)。zzq的编号为1,cj的编号为2。
    输入数据保证每个人只有一个父亲。

    输出

    对于每组输入,如果cj是zzq的晚辈,则输出“You are my younger”,如果cj是zzq的长辈,则输出“You are my elder”,如果是同辈则输出“You are my brother”。

    样例输入

    5
    1 3
    2 4
    3 5
    4 6
    5 6
    6
    1 3
    2 4
    3 5
    4 6
    5 7
    6 7

    样例输出

    You are my elder
    You are my brother

    题意描述:
    输入关系数N(N<=10)和N种关系(其中a的父亲是b)(1<=a,b<=20)
    计算并输出编号1和编号2的关系

    解题思路:
    用数组记录他们的关系,下标表示编号,该下标的数组中记录他的父亲
    再分别以c1和c2为计数变量,用while()循环计数他们到祖宗的辈分数
    比较c1和c2的大小,输出对应的关系即可

    代码实现:
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int n,c1,c2,i,m[21],a,b;
     5     while(scanf("%d",&n) != EOF)
     6     {
     7         for(i=0;i<=21;i++)
     8             m[i]=0;
     9         for(i=1;i<=n;i++)
    10         {
    11             scanf("%d%d",&a,&b);
    12             m[a]=b;
    13         }
    14         
    15         c1=0;
    16         i=1;
    17         while(m[i])
    18         {
    19             //printf("%d的父亲是%d
    ",i,m[i]);
    20             c1++;
    21             i=m[i];
    22         }
    23         
    24         c2=0;
    25         i=2;
    26         while(m[i])
    27         {
    28             //printf("%d的父亲是%d
    ",i,m[i]);
    29             c2++;
    30             i=m[i];
    31         }
    32         
    33         if(c2<c1)
    34         printf("You are my elder
    ");
    35         else if(c2==c1)
    36         printf("You are my brother
    ");
    37         else
    38         printf("You are my younger
    ");
    39     }
    40     return 0;
    41 }

    测试输入:
    3

    1 3

    2 4

    4 3

    3

    1 3

    3 4

    2 4

    2

    1 3

    2 3

    测试输出:

    You are my younger

    You are my elder

    You are my brother

    易错分析:
    1、循环的时候注意连接部分的逻辑关系要弄清楚(比赛的时候耐心分析)




  • 相关阅读:
    ASP.NET之Application、Session和Cookie的差别
    Android 最火高速开发框架AndroidAnnotations使用具体解释
    关于牛逼的顺丰--也谈管理
    SIFT特征提取分析
    [置顶] 网页提交方式post和get的区别和联系
    xcode 5.0 以上去掉icon高亮方法&amp;iOS5白图标问题
    我是怎样成长为系统架构师的
    怎样使用oracle 的DBMS_SQLTUNE package 来执行 Sql Tuning Advisor 进行sql 自己主动调优
    UDP用户数据报协议和IP分组
    使用Java高速实现进度条
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/7221412.html
Copyright © 2020-2023  润新知