2725 - 【创新型】第6章:循环控制结构 谁大谁小
Time Limit : 1 秒
Memory Limit : 128 MB
小石认识了一个新朋友叫小油,他们发现600年前居然是一家人!现在小石想知道小油是他的长辈,晚辈,还是同辈。
Input
首先输入一个整数N(N<=10),接下来N行,每行输入两个整数a和b,表示a的父亲是b(1<=a,b<=20)。小石的编号为1,小油的编号为2。
输入数据保证每个人只有一个父亲。
Output
对于每组输入,如果小油是小石的晚辈,则输出“你是我的晚辈”,如果小油是小石的长辈,则输出“你是我的长辈”,如果是同辈则输出“你是我的兄弟”。
Examples
Input Format
5 1 3 2 4 3 5 4 6 5 6
Output Format
你是我的长辈
Solution C
#include<stdio.h> #define N 1000 int main() { int x[N],n,a,b,j,k,l=0,m=0; scanf("%d",&n); for(int i=1;i<=n+2;i++) x[i]=0; for(int j=1;j<=n;j++) { scanf("%d %d",&a,&b); x[a] = b; } a=1; while(x[a]!=0) { l++; a=x[a]; } a=2; while(x[a]!=0) { m++; a=x[a]; } if(l==m) printf("你是我的兄弟"); else if(l>m) printf("你是我的长辈"); else printf("你是我的晚辈"); return 0; }
Solution C++
#include<iostream> using namespace std; int main() { int n,t1=1,t2=2,account1=0,account2=0; cin>>n; int*a=new int [n]; int*b=new int [n]; for(int i=0;i<n;i++) { cin>>a[i]; cin>>b[i]; } for(int i=0;i<n;i++) { if(a[i]==t1) { t1=b[i]; account1++; } if(a[i]==t2) { t2=b[i]; account2++; } } if(account1>account2) cout<<"你是我的长辈"<<endl; else if(account1==account2) cout<<"你是我的兄弟"<<endl; else cout<<"你是我的晚辈"<<endl; delete a; delete b; return 0; }