1022: [SHOI2008]小约翰的游戏John

Time Limit: 1 Sec  Memory Limit: 162 MB
Submit: 2375  Solved: 1497
[Submit][Status][Discuss]

Description

  小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取
的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一
粒石子的人算输。小约翰相当固执,他坚持认为先取的人有很大的优势,所以他总是先取石子,而他的哥哥就聪明
多了,他从来没有在游戏中犯过错误。小约翰一怒之前请你来做他的参谋。自然,你应该先写一个程序,预测一下
谁将获得游戏的胜利。

Input

  本题的输入由多组数据组成第一行包括一个整数T,表示输入总共有T组数据(T≤500)。每组数据的第一行包
括一个整数N(N≤50),表示共有N堆石子,接下来有N个不超过5000的整数,分别表示每堆石子的数目。

Output

  每组数据的输出占一行,每行输出一个单词。如果约翰能赢得比赛,则输出“John”,否则输出“Brother”
,请注意单词的大小写。

Sample Input

2
3
3 5 1
1
1

Sample Output

John
Brother

HINT

Source

Seerc2007

[Submit][Status][Discuss] 

anti-NIM游戏的解法:

一个状态为必胜态,当且仅当:

  1)所有堆的石子个数为1,且NIM_sum=0

  2)至少有一堆的石子个数大于1,且 NIM_sum≠0

#include<iostream>
#include<cstdio>
using namespace std;
int n,m;
int main()
{scanf("%d",&m);for (int j=1;j<=m;j++){scanf("%d",&n);int ans=0; int pd=0;for (int i=1;i<=n;i++){int x; scanf("%d",&x);if (x>1) pd=1;ans^=x;}if (pd==0&&!ans) printf("John\n");else if (pd==1&&ans) printf("John\n");else printf("Brother\n");}
}

bzoj 1022: [SHOI2008]小约翰的游戏John(anti-nim)相关推荐

  1. BZOJ 1022 [SHOI2008]小约翰的游戏John

    title: 'BZOJ 1022 [SHOI2008]小约翰的游戏John' categories: BZOJ date: 2016-3-8 21:27:00 tags: [SG函数,博弈论] De ...

  2. BZOJ 1022 [SHOI2008]小约翰的游戏John AntiNim游戏

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1475  Solved: 932 [Submit ...

  3. bzoj 1022: [SHOI2008]小约翰的游戏John anti_nim游戏

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 1189  Solved: 734 [Submit ...

  4. 1022: [SHOI2008]小约翰的游戏John【Nim博弈,新生必做的水题】

    1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 2709  Solved: 1726 [Submi ...

  5. bzoj 1022: [SHOI2008]小约翰的游戏John

    $ \color{#0066ff}{ 题目描述 }$ 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任 ...

  6. bzoj 1022: [SHOI2008]小约翰的游戏John(反nim游戏)

    Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不 ...

  7. BZOJ 1022 SHOI2008 小约翰的游戏John 博弈论

    题目大意:反Nim游戏,即取走最后一个的人输 首先状态1:如果所有的堆都是1,那么堆数为偶先手必胜,否则先手必败 然后状态2:如果有两个堆数量相同且不为1,那么后手拥有控场能力,即: 若先手拿走一堆, ...

  8. 【bzoj 1022】 小约翰的游戏John 【SHOI2008】

    Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不 ...

  9. 1022: [SHOI2008]小约翰的游戏John

    Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不 ...

最新文章

  1. 博客园博客停止更新的通知,程序员生存定律会在CSDN发完
  2. boost::signals2模块实现为类定义预析构函数的最小示例的测试程序
  3. 利用license机制来保护Java软件产品的安全
  4. 不同账号间的云资源授权方法
  5. pythonjson构建二维数组_python后台获取ajax传递的二维数组,保持原有数据结构不变...
  6. 倒序查10条数据_10 | 怎么给字符串字段加索引?
  7. mysql索引类型 normal, unique, full text
  8. yum安装php f,yum安装LNMP
  9. java基础语法的书_第一章--Java基础语法
  10. excel自动调整列宽_Knime数据分析入门- 06 自动调整Excel中列序
  11. 恶略天气下的目标检测
  12. 均方根值、均方根误差以及标准差的区别
  13. [PTA]6-12 判断奇偶性
  14. Mybatis入门 基于XML实现增删改查(包含动态SQL标签的使用)
  15. Oracle AutoVue介绍
  16. ZCMU-1635:超大型 LED 显示屏(细节题)
  17. phpoffice/phpword 表格合并和表格绝对居中
  18. 7T, 9T and Track
  19. 会员制实现C2B定制有机农产品,被中粮我买投资的良食网这样卖有机生鲜
  20. 计算机室内设计职业环境分析,室内设计职业规划书

热门文章

  1. 使用51单片机编写计时器(分钟,秒钟分离版)
  2. air android 后台运行,AIR Android:使用模拟器运行程序
  3. python3 币种汇率计算
  4. sonar pdf 插件
  5. win10 管理员权限运行
  6. 你听过哪些与房东有关的悲催的故事?
  7. react组件React slick的使用
  8. 分享时刻—今日一收获
  9. Offline RL Summary
  10. 猜数游戏(GAMBLER)