HDU 2509 Be the Winner (Nim博弈)
来源:互联网 发布:淘宝的君羊令页 编辑:程序博客网 时间:2024/05/16 19:00
Problem Description
Let's consider m apples divided into n groups. Each group contains no more than 100 apples, arranged in a line. You can take any number of consecutive apples at one time.
For example "@@@" can be turned into "@@" or "@" or "@ @"(two piles). two people get apples one after another and the one who takes the last is
the loser. Fra wants to know in which situations he can win by playing strategies (that is, no matter what action the rival takes, fra will win).
Input
You will be given several cases. Each test case begins with a single number n (1 <= n <= 100), followed by a line with n numbers, the number of apples in each pile. There is a blank line between cases.
Output
If a winning strategies can be found, print a single line with "Yes", otherwise print "No".
Sample Input
2
2 2
1
3
Sample Output
No
Source
ECJTU 2008 Autumn Contest
Let's consider m apples divided into n groups. Each group contains no more than 100 apples, arranged in a line. You can take any number of consecutive apples at one time.
For example "@@@" can be turned into "@@" or "@" or "@ @"(two piles). two people get apples one after another and the one who takes the last is
the loser. Fra wants to know in which situations he can win by playing strategies (that is, no matter what action the rival takes, fra will win).
Input
You will be given several cases. Each test case begins with a single number n (1 <= n <= 100), followed by a line with n numbers, the number of apples in each pile. There is a blank line between cases.
Output
If a winning strategies can be found, print a single line with "Yes", otherwise print "No".
Sample Input
2
2 2
1
3
Sample Output
No
Yes
尼姆博弈变形,最后苹果数为1的堆要单独考虑。。。
以下AC代码:
#include <stdio.h>#include <string.h>int main(){ int n,i; int flag; int sum; int a[55]; while(~scanf("%d",&n)) { sum=0; flag=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); flag^=a[i]; if(a[i]>=2) sum++; //记录苹果数不为1的堆得堆数 } if (!flag) //奇异局势 { if(sum<=1) printf("Yes\n"); else printf("No\n"); } else //非奇异局势 { if(sum>=1) printf("Yes\n"); else printf("No\n"); } } return 0;}
Source
ECJTU 2008 Autumn Contest
0 0
- HDU 2509 Be The Winner ( Nim 博弈 )
- hdu 2509 Be the Winner(博弈Nim)
- HDU 2509 Be the Winner nim博弈
- HDU 2509 Be the Winner (Nim博弈)
- hdu 2509 Be the Winner(博弈Nim)
- HDU 2509 Be the Winner Nim博弈
- HDU(2509) Be the Winner /HDU(1907) John (Nim 博弈)
- Be the Winner HDU-2509【Nim经典博弈】
- HDU 2509 Be the Winner (Anti-Nim)
- HDU 2509 Be the Winner && HDU 1907 John (Nim博弈变形)
- hdu 2509 Be the Winner(博弈)
- hdu 2509 - Be the Winner(简单博弈)
- [博弈]HDU 2509 Be the Winner
- hdu 2509 Be the Winner(博弈)
- hdu 2509 Be the Winner(博弈Nim)
- hdoj Be the Winner 2509 (NIM博弈)
- HDU2509 Be the Winner Nim博弈
- hdu 1907 John,hdu 2509 Be the Winner anti-NIM
- Mybatis学习笔记-一对一关联
- Mybatis学习笔记-一对多关联
- Mybatis学习笔记-动态SQL与模糊查询
- Mybatis学习笔记-调用存储过程
- Mybatis学习笔记-一级缓存与二级缓存
- HDU 2509 Be the Winner (Nim博弈)
- Mybatis学习笔记-Mybatis与Spring的整合
- Ajax学习笔记-入门笔记
- Ajax学习笔记-Ajax数据格式
- Ajax学习笔记-JQuery中的Ajax
- Ajax学习笔记-验证用户名是否可用
- Ajax学习笔记-购物车
- Ajax学习笔记-三级联动
- WebService学习笔记-XML&Schema&HTTP