5
1 3
2 4
3 5
4 6
5 6
6
1 3
2 4
3 5
4 6
5 7
6 7
思路:
這道題目的數據是a的b關係。(多組數據,這是個坑!)
純模擬。
再按照判斷便可。
若是小宇是小明的晚輩,則輸出「You are my younger」,
若是小宇是小明的長輩,則輸出「You are my elder」,
若是是同輩則輸出「You are my brother」。
開兩個數組存儲a與b的狀態比較。
也能夠用鏈表向上查找。
代碼:
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <cmath> using namespace std; int a[105]; int main(){ int n; while(cin>>n){ for(int i=1;i<=100;i++) a[i]=i; for(int i=1;i<=n;i++){ int x,y; cin>>x>>y; a[x]=y; } int s1=0; for(int i=1;i!=a[i];i=a[i])s1++; int s2=0; for(int i=2;i!=a[i];i=a[i])s2++; if(s1>s2)cout<<"You are my elder"<<endl; else if(s1==s2)cout<<"You are my brother"<<endl; else cout<<"You are my younger"<<endl; } return 0; }
OVER!