HDU_1907&2509 博弈(Nim博弈变形)
来源:互联网 发布:北京赛车两期计划数据 编辑:程序博客网 时间:2024/05/17 09:24
John
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 4184 Accepted Submission(s): 2386
Problem Description
Little John is playing very funny game with his younger brother. There is one big box filled with M&Ms of different colors. At first John has to eat several M&Ms of the same color. Then his opponent has to make a turn. And so on. Please note that each player has to eat at least one M&M during his turn. If John (or his brother) will eat the last M&M from the box he will be considered as a looser and he will have to buy a new candy box.
Both of players are using optimal game strategy. John starts first always. You will be given information about M&Ms and your task is to determine a winner of such a beautiful game.
Input
The first line of input will contain a single integer T – the number of test cases. Next T pairs of lines will describe tests in a following format. The first line of each test will contain an integer N – the amount of different M&M colors in a box. Next line will contain N integers Ai, separated by spaces – amount of M&Ms of i-th color.
Constraints:
1 <= T <= 474,
1 <= N <= 47,
1 <= Ai <= 4747
Output
Output T lines each of them containing information about game winner. Print “John” if John will win the game or “Brother” in other case.
Sample Input
2
3
3 5 1
1
1
Sample Output
John
Brother
题解传送门(好详细):
http://www.cnblogs.com/cchun/archive/2012/07/25/2609141.html
代码:
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;int main (void){ int t; cin>>t; while(t--) { int num; scanf("%d",&num); int ans=0; int xx=0; int a; for(int i=0;i<num;i++) { scanf("%d",&a); if(a!=1) { ans++; } xx^=a; } if(ans==0) { if(xx==0) { printf("John\n"); continue; } if(xx!=0) { printf("Brother\n"); continue; } } else if(xx!=0) { printf("John\n"); continue; } else { printf("Brother\n"); continue; } } return 0;}
- HDU_1907&2509 博弈(Nim博弈变形)
- hdu1907John(NIM博弈变形)
- Nim博弈变形(anti-nim)
- Nim(Nim博弈变形)
- poj1704(变形Nim博弈)
- hdu 5011 nim博弈变形
- HDOJ 2509 Nim博弈
- Northcott Game(hdu1730变形的nim博弈)
- hdu 1730 Northcott Game (nim博弈变形)
- HDU 1907 John nim博弈变形
- POJ 3480 John Anti-Nim博弈变形
- 博弈-Nim博弈
- nim 博弈
- Nim博弈
- Nim博弈
- NIM 博弈
- Nim 博弈
- Nim博弈
- 配置Eclipse来调试并发代码
- Condition实现原理
- struts的几个小异常
- 线程的调度
- MATLAB - plot函数
- HDU_1907&2509 博弈(Nim博弈变形)
- (18)HTML标签详解之<div> <span>
- sdut oj3329 顺序表应用5:有序顺序表归并
- Xamarin For Visual Studio第二坑 - 虚拟机调试
- 关闭chrome访问麦克风标签页上小红点的方法
- Grandpa's Estate(判断是否有点在凸包边上)
- [JS]JavaScript的数据类型
- Single Number
- HDU:2141 Can you find it?(二分+组合)