YTU 1074: You are my brother

1074: You are my brother

时间限制: 1 Sec  内存限制: 128 MB
提交: 10  解决: 7

题目描述

Little A gets to know a new friend, Little B, recently. One day, they realize that they are family 500 years ago. Now, Little A wants to know whether Little B is his elder, younger or brother.

输入

There are multiple test cases.

For each test case, the first line has a single integer, n (n<=1000). The next n lines have two integers a and b (1<=a,b<=2000) each, indicating b is the father of a. One person has exactly one father, of course. Little A is numbered 1 and Little B is numbered 2.

Proceed to the end of file.

输出

For each test case, if Little B is Little A’s younger, print “You are my younger”. Otherwise, if Little B is Little A’s elder, print “You are my elder”. Otherwise, print “You are my brother”. The output for each test case occupied exactly one line.

样例输入

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


总是望着曾经的空间发呆,那些说好不分开的朋友不在了,转身,陌路。 熟悉的,安静了, 安静的,离开了, 离开的,陌生了, 陌生的,消失了, 消失的,陌路了。快哭了


#include <iostream>
using namespace std;
#define MAX_LEN 2002
int main()
{
    int a=0, b=0,n=0, count,arr[MAX_LEN],cnta, cntb,i;
    while (cin >> n)
    {
        for (i = 0; i < MAX_LEN; i++)
            arr[i] = 0;
        count = 0;
        while (count < n)
        {
            cin >> a >> b;
            arr[a] = b;
            count++;
        }
        cnta = 0,cntb = 0,i = 1;
        while (arr[i] > 0 )
        {
            cnta ++;
            i = arr[i];
        }
        i = 2;
        while (arr[i] > 0 )
        {
            cntb ++;
            i = arr[i];
        }
        if (cnta == cntb)
        {
            cout << "You are my brother" << endl;
        }
        else if (cnta > cntb)
        {
            cout << "You are my elder" << endl;
        }
        else if (cnta < cntb)
            cout << "You are my younger" << endl;
    }
    return 0;
}


原文地址:https://www.cnblogs.com/im0qianqian/p/5989671.html