[SHOI2008]小約翰的遊戲John
阿新 • • 發佈:2018-02-03
span input 選擇 str bsp 應該 ios color div
括一個整數N(N≤50),表示共有N堆石子,接下來有N個不超過5000的整數,分別表示每堆石子的數目。
3
3 5 1
1
1
Brother Anti-Nim遊戲(反Nim遊戲)
Description
小約翰經常和他的哥哥玩一個非常有趣的遊戲:桌子上有n堆石子,小約翰和他的哥哥輪流取石子,每個人取
的時候,可以隨意選擇一堆石子,在這堆石子中取走任意多的石子,但不能一粒石子也不取,我們規定取到最後一
粒石子的人算輸。小約翰相當固執,他堅持認為先取的人有很大的優勢,所以他總是先取石子,而他的哥哥就聰明
多了,他從來沒有在遊戲中犯過錯誤。小約翰一怒之前請你來做他的參謀。自然,你應該先寫一個程序,預測一下
誰將獲得遊戲的勝利。
Input
本題的輸入由多組數據組成第一行包括一個整數T,表示輸入總共有T組數據(T≤500)。每組數據的第一行包
Output
每組數據的輸出占一行,每行輸出一個單詞。如果約翰能贏得比賽,則輸出“John”,否則輸出“Brother”
,請註意單詞的大小寫。
Sample Input
23
3 5 1
1
1
Sample Output
JohnBrother Anti-Nim遊戲(反Nim遊戲)
1 #include<iostream> 2 #include<cstdio> 3#include<cstring> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 int cnt,ans,n; 8 int main() 9 {int T,i,x; 10 cin>>T; 11 while (T--) 12 { 13 cin>>n; 14 cnt=0;ans=0; 15 for (i=1;i<=n;i++) 16 { 17 scanf("%d",&x); 18 ans^=x; 19 if (x>1) cnt++; 20 } 21 if (cnt==0&&ans==0) 22 cout<<"John\n"; 23 else if (cnt>=1&&ans) 24 cout<<"John\n"; 25 else cout<<"Brother\n"; 26 } 27 }
[SHOI2008]小約翰的遊戲John