首页 > 代码库 > nyoj 282 You are my brother

nyoj 282 You are my brother

You are my brother

时间限制:1000 ms  |  内存限制:65535 KB

难度:3

描述

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<stdio.h>
#include<string.h>
int a[99999];
int t;
int find(int x)
{
    t=1;
    while(x!=a[x])
    {
        x=a[x];
        t++;
    }
    return t;
}
int main()
{
    int k;
    int m,n;
    while(scanf("%d",&k)!=EOF)
    {
        memset(a,0,sizeof(a)); 
        for(int i=0; i<k; i++)
        {
            scanf("%d%d",&m,&n);
            a[m]=n;
        }
        int x=find(1);
        int y=find(2);
        if(x<y)
            puts("You are my younger");
        else if(x>y)
            puts("You are my elder");
        else puts("You are my brother");
    }
    return 0;
}

  

nyoj 282 You are my brother