http://acm.hdu.edu.cn/showproblem.php?pid=1907

Nim的变形,最后取为败,详见http://www.cnblogs.com/tanky_woo/archive/2010/08/20/1804464.html中取火柴游戏2。

这里总结下结论:

1. 当所有堆个数都为1时,若为奇数堆,即异或不为0,则先手败,反之先手胜。

2. 非所有堆个数都为1时,则异或不为0先手胜。

用上述博文中的定义则为T0, S1, S2为必胜态,T1, S0为必败态。

code:

#include<cstdio>
int main(){
    int t, n, f, i, a, sum ;
    scanf("%d", &t) ;
    while(t--){
        sum = f = 0 ;
        scanf("%d", &n) ;
        for(i=0; i<n; i++){
            scanf("%d", &a) ;
            sum ^= a ;
            if(a>1) f = 1 ;
        }
        if(sum) sum = 1 ;
        if(f^sum)   printf("Brother\n") ;
        else        printf("John\n") ;
    }
    return 0 ;} 

转载于:https://www.cnblogs.com/xiaolongchase/archive/2012/05/04/2482217.html

hdu 1907 John (Nim变形)相关推荐

  1. HDU - 1907 John(尼姆博弈变形)

    题目链接:点击查看 题目大意:给出 n 堆石子,两个人轮流取,至少取一个,取到最后一个的人输 题目分析:尼姆博弈是取到最后一个的人获胜,这个题正好反着 一个很显然的奇异局势就是,每一堆的石子的个数都为 ...

  2. hdu 1907 John

    anti-SG裸题 终于刷到09年了\(^o^)/ 话说SJ定理这个名字怎么这么喜感呢. #include<iostream> #include<cstdio> #includ ...

  3. hdu 1907 & hdu 2509(Nim博弈)

    其实我都是一直叫它(尼美博弈) 模型: 给你N堆,每堆数目是确定的(输入),每次从一堆取一个,多者不限,最多取完一堆.有两人AB,A先手,规定最后一个取完者赢(输).问先后手哪个赢(输).(假定两个人 ...

  4. HDU 3094 树上删边 NIM变形

    基本的树上删边游戏 写过很多遍了 /** @Date : 2017-10-13 18:19:37* @FileName: HDU 3094 树上删边 NIM变形.cpp* @Platform: Win ...

  5. hdu 1907 Jone 尼姆博弈

    题目:点击打开链接 John Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) T ...

  6. ZOJ 3964 NIM变形

    LINK 题意:n堆石子,Alice 和 Bob 轮流取石子,谁不能再取或被对方取完为败.但是对于alice拥有限制:b=0此堆正常无限制:b=1此堆Alice只能取奇数个石子:b=2只能取偶数个石子 ...

  7. [ACM_动态规划] hdu 1176 免费馅饼 [变形数塔问题]

    Problem Description 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼.说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁 ...

  8. hdu dfs入门java_hdu1181变形课dfs/bfs/并查集三种解法(java)

    题目链接 Problem Description 呃-变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个 ...

  9. HDU 3466 01背包变形

    给出物品数量N和总钱数M 对于N个物品.每一个物品有其花费p[i], 特殊值q[i],价值v[i] q[i] 表示当手中剩余的钱数大于q[i]时,才干够买这个物品 首先对N个物品进行 q-p的排序,表 ...

  10. HDU 2516 (Fabonacci Nim) 取石子游戏

    这道题的结论就是,石子的个数为斐波那契数列某一项的时候,先手必败:否则,先手必胜. 结论很简单,但是证明却不是特别容易.找了好几篇博客,发现不一样的也就两篇,但是这两篇给的证明感觉证得不清不楚的,没看 ...

最新文章

  1. 在idea项目中的android包不能识别_项目调试编译和部署运行
  2. udacity车道线检测GIT库
  3. 收藏 | 应对程序员面试,你必须知道的8大数据结构
  4. 如何把opencv编译到matlab,c – 为OpenCV编译MATLAB绑定
  5. 机器学习中的数据不平衡问题----通过随机采样比例大的类别使得训练集中大类的个数与小类相当,或者模型中加入惩罚项...
  6. tcpdump的简单选项介绍
  7. 在应用了皮肤的程序中制作透明的文本编辑控件(如:TcxMemo)
  8. Android学习视频
  9. linux AIO (异步IO) 那点事儿
  10. 电脑测速软件_不服跑个分!常见固态硬盘测速工具性价比盘点(上)
  11. BZOJ 2442: [Usaco2011 Open]修剪草坪( dp )
  12. java 常量池是什么_Java常量池理解与总结
  13. 力扣-169 多数元素
  14. 常用的MATLAB建模工具箱
  15. STM32f4日记9之LD3320语音识别(您的私人语音助手MICRO)
  16. win10系统20H2版本更新以后桌面底下弹出了对话框,说我们在加载你的信息流时遇到了问题?
  17. 2021年中国化妆品发展现状及进出口状况分析:消费升级局面下,化妆品市场依旧景气 [图]
  18. 声明一个长方形类,属性有长和宽;操作有赋值、计算长方形的周长和面积、输出信息等,要求定义构造函数(缺省值为10)和析构函数。
  19. 解决gitlab-runner一直处于等待中
  20. HEVC预测块(PU)模式划分显示

热门文章

  1. android 如何启动nfc卡模拟模式_用手机模拟小区业主卡,出入更加便捷,免去带卡的烦恼,(限安卓)...
  2. webgis 行政图报错_开源WebGIS:地图发布与地图服务
  3. ShowDoc v2.4.8 发布,IT团队的在线 API 文档工具
  4. vue-cli3.0升级失败,vue-cli卸载不掉,vue-cli升级不了3.0,
  5. 干货~powershell与bash和docker在项目中怎么用
  6. AC日记——【模板】二分图匹配 洛谷 P3386
  7. Kafka设计解析(三):Kafka High Availability (下)
  8. 适合iOS的15大网站推荐
  9. [转载]年末致富有新招,写个程序抓红包
  10. 来自汽车行业的20个优秀的汽车推广网站