zoukankan      html  css  js  c++  java
  • 一家人(family)

    题目描述

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

    输入

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

    输出

    对于每组输入,如果小宇是小明的晚辈,则输出“You are my younger”,如果小宇是小明的长辈,则输出“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

    思路:
      这道题目的数据是a的b关系。(多组数据,这是个坑!)
    纯模拟。
    再按照判断即可。
    如果小宇是小明的晚辈,则输出“You are my younger”,
    如果小宇是小明的长辈,则输出“You are my elder”,
    如果是同辈则输出“You are my brother”。
      开两个数组存储a与b的状态比较。
    也可以用链表向上查找。
    代码:
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #include <cmath>
    using namespace std;
    int a[105];
    int main(){
        int n;
        while(cin>>n){
            for(int i=1;i<=100;i++)
                a[i]=i;
            for(int i=1;i<=n;i++){
                int x,y;
                cin>>x>>y;
                a[x]=y;
            }
            int s1=0;
            for(int i=1;i!=a[i];i=a[i])s1++;
            int s2=0;
            for(int i=2;i!=a[i];i=a[i])s2++;
            if(s1>s2)cout<<"You are my elder"<<endl;
            else if(s1==s2)cout<<"You are my brother"<<endl;
            else cout<<"You are my younger"<<endl;
        }
        return 0;
    }
    
    
    

      

    OVER!
     
  • 相关阅读:
    oracle 之监听保护
    游戏升级之路
    《C++游戏开发》十六 游戏中的寻路算法(二):迷宫&A*算法基础
    【JavaScript】实现复选框的全选、全部不选、反选
    虎嗅: 小米盒子vs乐视盒子
    即将成为传奇的微软
    DB-Oracle-DatabaseLinks:百科
    人物-思想家-默罕默德:百科
    ADO.NET:目录
    ADO.NET:百科
  • 原文地址:https://www.cnblogs.com/wangshengjun/p/10628661.html
Copyright © 2011-2022 走看看