HDU-2509-Be the Winner,博弈题~~水过~~
2024-08-23 01:04:35
Be the Winner
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
http://acm.hdu.edu.cn/showproblem.php?pid=2509
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).
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
Source
刚做完南理工的校外镜像赛,就在HUD上看到这个题,我嘞个坑啊,简直和最强战舰一模一样,除了输入输出(https://icpc.njust.edu.cn/Contest/749/H/),怪不得这么多人过了;
题意应该很好懂吧,n堆苹果,每次从一堆中拿任意个,最后拿的输,问先拿者是否能赢?????
题解请看:http://blog.csdn.net/nyist_tc_lyq/article/details/51180906-我的另一篇博客,题意都是一样的,那有具体的思路题解;
AC代码:
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=100+10;
int a[N];
int main()
{
int n,i,j,x;
while(~scanf("%d",&n))
{
x=j=0;
int f;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
x^=a[i];
if(a[i]>=2)
j++;
}
if(x!=0)
{
if(j==0)
f=1;
else
f=2;
}
else
{
if(j==0)
f=2;
else
f=1;
}
if(f==1)
printf("No\n");
else
printf("Yes\n");
}
return 0;
}
最新文章
- WinForm中DataGridView显示更新数据--人性版
- 修改FastColoredTextBox控件完成选择
- paip.java c++得到当前类,方法名称以及行号
- C#动态调用C++编写的DLL函数
- TCP/IP详解学习笔记(10)-- DNS:域名系统
- vc终端输入结束符
- 【POJ3243】拓展BSGS(附hash版)
- 自动显示git分支--安装oh-my-zsh(Ubuntu环境)
- System.Net网络编程--AuthenticationManager和IAuthenticationModule
- 校园招聘 - 比較easy的面试题
- JS获取ckeditor4.x里的值
- Deploy .Net project automatically with MsBuild and MsDeploy (1)
- GitLab版本管理工具
- Linux中的pipe(管道)与named pipe(FIFO 命名管道)
- Mysql DBA 运维 MySQL数据库索引优化及数据丢失案例 MySQL备份-增量备份及数据恢复基础实战 MySQL数据库生产场景核心优化
- P1428 小鱼比可爱
- Unity 获取指定资源目录下的所有文件
- c#cookie读取写入操作
- csp20151203画图 解题报告和易错地方
- 卸载linux系统上自带的mysql