码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 1907

时间:2017-08-03 16:04:14      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:hdu   argc   pid   val   define   规则   mod   blog   logs   

 

传送门

 

规则类似与NIM博弈,但是取到最后一颗石子的人输

 

必败态有两种

异或和不为0且(石子数多余1的堆)数目为0

异或和为0且(石子数多余1的堆)数目大于1

 

 1 #include <queue>
 2 #include <vector>
 3 #include <cstdio>
 4 #include <cstring>
 5 #include <iostream>
 6 #include <algorithm>
 7 #define INF 0x3f3f3f3f
 8 #define MOD 1000000007
 9 using namespace std;
10 typedef long long LL;
11 
12 
13 
14 int main(int argc, const char * argv[]) {
15     int T;
16     scanf("%d", &T);
17     while (T--) {
18         int val;
19         int n;scanf("%d", &n);
20         int tmp = 0, flag = 0;
21         for (int i = 1; i <= n; i++) {
22             scanf("%d", &val);
23             tmp ^= val;
24             if (val > 1) flag ++;
25         }
26         if ((tmp != 0 && flag == 0) || (tmp == 0 && flag > 1)) {
27             puts("Brother");
28         } else {
29             puts("John");
30         }
31     }
32     return 0;
33 }

 

HDU 1907

标签:hdu   argc   pid   val   define   规则   mod   blog   logs   

原文地址:http://www.cnblogs.com/xFANx/p/7280119.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!