zoukankan      html  css  js  c++  java
  • 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>
    #define MAX 2100
    #define max(x,y)(x>y?x:y)
    int set[MAX];
    int sum,sum1,sum2;
    void dfs(int beg,int end)
    {
    	if(set[beg]==beg)
    	return ;
    	int i;
    	for(i=1;i<=sum;i++)
    	{
    		if(set[beg]==i)//判断是否是父节点 
    		{
    			if(end==1)//如果是1的父节点  自加1 
    			sum1++;
    			else  //是2的父节点 
    			sum2++;
    			dfs(i,end);//继续搜索 
    			break;
    		}
    	}
    }
    void chu()
    {
    	int i;
    	for(i=0;i<MAX;i++)
    	set[i]=i;
    }
    void shu()
    {
    	if(sum1==sum2)
    	printf("You are my brother
    ");
    	else if(sum1>sum2)
    	printf("You are my elder
    ");
    	else
    	printf("You are my younger
    ");
    }
    int main()
    {
    	int n,m,j,i,k,t,s;
    	while(scanf("%d",&t)!=EOF)
    	{
    		chu();
    		sum=0;
    		while(t--)
    		{
    			scanf("%d%d",&n,&m);
    			set[n]=m;
    			sum=max(max(n,m),sum);
    		}
    		sum1=sum2=0;
    		dfs(1,1);
    		dfs(2,2);
    		shu();
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    扩展VirtualBox虚拟机磁盘容量
    Java实现莱布尼兹问题
    Java实现子序列问题
    Java实现子序列问题
    Java实现子序列问题
    Java实现子序列问题
    Java实现子序列问题
    第九届蓝桥杯JavaC组省赛真题
    第九届蓝桥杯JavaC组省赛真题
    第九届蓝桥杯JavaC组省赛真题
  • 原文地址:https://www.cnblogs.com/tonghao/p/4606130.html
Copyright © 2011-2022 走看看