标签:name strong can ace int 博弈 amp while other
在尼姆博奕中取完最后一颗糖的人为赢家,而取到最后一颗糖为输家的就是反尼姆博奕。这道题就反尼姆
博奕的模型。在尼姆博奕中判断必胜局面的条件是所有堆石子数目相异或不等于0 。 而在反尼姆博奕中判断必胜局
面的条件有两点,满足任意一点先手都能取胜,即必胜局面。
题目链接:https://cn.vjudge.net/contest/317258#problem/I
1 #include <cmath> 2 #include <cstdio> 3 #include <cstring> 4 #include <iostream> 5 #include <algorithm> 6 #include <math.h> 7 8 using namespace std; 9 const int maxn = 1e5+5; 10 11 int arr[maxn]; 12 13 int main() 14 { 15 int T; 16 scanf("%d",&T); 17 while (T--) 18 { 19 int n; 20 int ans = 0; 21 int k = 0; 22 scanf("%d",&n); 23 for (int i=0;i<n;i++) 24 { 25 int a; 26 scanf("%d",&a); 27 ans ^= a; 28 if (a>1) 29 k = 1; 30 } 31 if (k == 0) 32 { 33 if (ans%2) 34 puts("Brother"); 35 else 36 puts("John"); 37 } 38 else 39 { 40 if (ans) 41 puts("John"); 42 else 43 puts("Brother"); 44 } 45 } 46 return 0; 47 }
标签:name strong can ace int 博弈 amp while other
原文地址:https://www.cnblogs.com/-Ackerman/p/11317902.html