nyoj 282 You are my brother

来源:互联网 发布:网站搜索引擎优化 编辑:程序博客网 时间:2024/05/10 01:55

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.
样例输入
51 32 43 54 65 661 32 43 54 65 76 7
样例输出
You are my elderYou are my brother
深搜: 查找1,2节点上面分别有多少节点。
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<queue>#include<stack>#include<algorithm>#define MAX 2001using namespace std;int set[MAX];int maxnode;int sum1,sum2;int max(int x,int y){    return x>y?x:y;}void dfs(int p,int pos){    int i;    if(set[p]==p)//找到根节点     return ;    for(i=1;i<=maxnode;i++)    {        if(set[p]==i)//找到父节点         {            if(pos==1)            sum1++;            else            sum2++;            dfs(i,pos);//继续         }    }} void init(){    int i;    for(i=1;i<MAX;i++)    set[i]=i;}void solve(){    if(sum1==sum2)    printf("You are my brother\n");    else if(sum1>sum2)    printf("You are my elder\n");    else    printf("You are my younger\n");}int main(){    int n,i,j,x,y;    while(scanf("%d",&n)!=EOF)    {        init();        maxnode=0;        while(n--)        {            scanf("%d%d",&x,&y);            maxnode=max(max(x,y),maxnode);            set[x]=y;        }        sum1=sum2=0;        dfs(1,1);        dfs(2,2);        solve();    }    return 0;}

0 0
原创粉丝点击