Description
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.
</br ></span style="line-height:normal;text-indent:27px;white-space:normal;font-family:'microsoft yahei';"></span style="line-height:normal;"></span style="font-family:'dejavu "></div style="text-indent:27px;">
</br ></span style="line-height:normal;text-indent:27px;white-space:normal;font-family:'microsoft yahei';"></span style="line-height:normal;"></span style="font-family:'dejavu "></div style="text-indent:27px;">
Input
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, 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.
Output
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.
Sample Input
5 1 3 2 4 3 5 4 6 5 6 6 1 3 2 4 3 5 4 6 5 7 6 7
Sample Output
You are my elder You are my brother
这个题目挺不错的,一开始看以为很难,但是看了一些题目,发现其实挺简单的
最近Little A认识了一个新的朋友Little B,在他们聊天的时候他们竟然发现500年前他们是一家人,现在Little A想知道Little是他的长辈,晚辈,还是兄弟。所有的人都在一颗树上,只要知道A和B到根的距离,就可以判断他们的关系了。
#include <iostream> #include <cstring> #include <cstdio> using namespace std; int father[2005]; int main() { int n; int a,b; while(scanf("%d",&n)!=EOF) { int flag1=0,flag2=0; memset(father,0,sizeof(father)); for(int i=0; i<n; i++) { scanf("%d%d",&a,&b); father[a]=b; } int A=1; while(father[A]>0) { flag1++; A=father[A]; } int B=2; while(father[B]>0) { flag2++; B=father[B]; } //cout<<flag1<<flag2<<endl; if(flag1==flag2) cout<<"You are my brother"<<endl; else if(flag1<flag2) cout<<"You are my younger"<<endl; else cout<<"You are my elder"<<endl; } return 0; }