HDOJ 5011 Game
来源:互联网 发布:希捷 数据恢复服务 编辑:程序博客网 时间:2024/05/17 08:01
和NIM博弈是一模一样的
Game
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 148 Accepted Submission(s): 116
Problem Description
Here is a game for two players. The rule of the game is described below:
● In the beginning of the game, there are a lot of piles of beads.
● Players take turns to play. Each turn, player choose a pile i and remove some (at least one) beads from it. Then he could do nothing or split pile i into two piles with a beads and b beads.(a,b > 0 and a + b equals to the number of beads of pile i after removing)
● If after a player's turn, there is no beads left, the player is the winner.
Suppose that the two players are all very clever and they will use optimal game strategies. Your job is to tell whether the player who plays first can win the game.
● In the beginning of the game, there are a lot of piles of beads.
● Players take turns to play. Each turn, player choose a pile i and remove some (at least one) beads from it. Then he could do nothing or split pile i into two piles with a beads and b beads.(a,b > 0 and a + b equals to the number of beads of pile i after removing)
● If after a player's turn, there is no beads left, the player is the winner.
Suppose that the two players are all very clever and they will use optimal game strategies. Your job is to tell whether the player who plays first can win the game.
Input
There are multiple test cases. Please process till EOF.
For each test case, the first line contains a postive integer n(n < 105) means there are n piles of beads. The next line contains n postive integer, the i-th postive integer ai(ai < 231) means there are ai beads in the i-th pile.
For each test case, the first line contains a postive integer n(n < 105) means there are n piles of beads. The next line contains n postive integer, the i-th postive integer ai(ai < 231) means there are ai beads in the i-th pile.
Output
For each test case, if the first player can win the game, ouput "Win" and if he can't, ouput "Lose"
Sample Input
1121 131 2 3
Sample Output
WinLoseLose
Source
2014 ACM/ICPC Asia Regional Xi'an Online
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main(){ int n; while(scanf("%d",&n)!=EOF) { int x,ans=0; for(int i=0;i<n;i++) { scanf("%d",&x); ans=ans^x; } if(ans==0) puts("Lose"); else puts("Win"); } return 0;}
1 1
- HDOJ 5011 Game
- hdoj 5011 Game(基础尼姆博弈)
- HDOJ 1846 Brave Game
- HDOJ 1730 Northcott Game
- HDOJ 1729 Stone Game
- HDOJ 2053 Switch Game
- HDOJ 4146 Flip Game
- hdoj 1054 Strategic Game
- hdoj 3622 Bomb Game
- HDOJ 4616: Game
- HDOJ 4621: Life Game
- HDOJ 3484 Matrix Game
- HDOJ 4642 Fliping game
- HDOJ 3622 Bomb Game
- HDOJ 1054 Strategic Game
- hdoj 4597 Play Game
- HDOJ 4597 Play Game
- HDOJ 1054 Strategic Game
- HDOJ 5014 Number Sequence
- 嵌入式开发的那些年--aiku
- lua单例2
- HDOJ 题目456 邮票分你一半(01背包)
- linux学习之C语言(5)------ Makefile详解
- HDOJ 5011 Game
- 共享三年嵌入式项目资料(源码+实物图+原创)(申精帖)
- 有两个指针pa,pb分别指向有两个数,a,b,请写一个函数交换两个指针的指向,也就是让pa指向b,让pb指向a
- HDOJ 5007 Post Robot
- 获取路由器超级用户权限(你懂得...)
- Maximum Subarray
- 实现一个计算器
- HDU - 5012 Dice(BFS)
- python的优先权队列