Alice和Bob

时间限制: 1 Sec  内存限制: 128 MB

题目描述

Alice和Bob在玩这样的一个游戏, 给定大小为K数组a1,a2,a3……ak。 一开始, 有x枚硬币, Alice和Bob轮流取硬币, 每次所取硬币的枚数一定要在 a1,a2,a3……ak之中。 每局Alice先取, 取走最后一枚硬币的一方获胜。 当双方都采取最优策略的时候, 谁会获胜? 题目假定a1,a2,a3……ak之中一定有1。

输入

本题有多组测试数据。

每组数据第一行是两个数x,k。分别代表开局有X个金币,和大小为K的数组。

随后一行是K个数,表示可以取得数。

输出

对于每组数据,输出赢家是谁

样例输入

4 3
1 3 4
9 3
1 3 4

样例输出

Alice
Bob
#include<bits/stdc++.h>
using namespace std;
#define MAX 10009
bool win[MAX];
int main()
{ios::sync_with_stdio(false);int x,k,a[110];while(cin>>x>>k){//分别代表开局有X个金币,和大小为K的数组。for(int i=0;i<k;i++)cin>>a[i];win[0]=0;//金币个数为0时,先手必败for(int j=1;j<=x;j++)//枚举所有金币{win[j]=0;for(int i=0;i<k;i++){//枚举所有一次可取的个数//当j>=a[i]时,只要有一个a[i],使得j-a[i]为必败态,那么j就为必胜态;if(j>=a[i]&&!win[j-a[i]])win[j]=1;}}if(win[x])   printf("Alice\n");else printf("Bob\n");}return 0;}

动态规划下的巴什博弈相关推荐

  1. 巴什博弈例题:NYOJ23;HDU:2149,1847,2897,2188

    巴什博弈: 只有一堆n个物品,两个人轮流从这堆物品中取除,每次取的个数为[1,m](至少去一个,最多取m个),最后取完者获胜 特征: 物品只有一堆,简单变形: 要么在范围内不规定个数,要么规定只能取几 ...

  2. Ticket Game CodeForces - 1215D(博弈题,巴什博弈思维)

    题意:两个人玩游戏,通过轮流填数字(0~9),若最终左右两边的和相等,后手赢,否则先手赢.起始有部分数字和空格. 官方题解: 题解翻译: 让我们把余额表示为左半部分数字和右半部分数字和的差.也让我成为 ...

  3. hdu 2149 巴什博弈

    http://acm.hdu.edu.cn/showproblem.php?pid=2149 分析:就是巴什博弈的概念. 题目要求:对于每组数据,在一行里按递增的顺序输出Lele第一次可以加的价.两个 ...

  4. 巴什博弈小游戏(Java实现)

    界面截图: 代码: package 巴什博弈;import java.awt.*; import java.awt.event.*; import java.util.ArrayList;import ...

  5. 博弈论学习之巴什博弈,尼姆博弈, sg博弈

    博弈论真是一个神奇的东西,感觉和博弈论厉害的人玩游戏绝对会输. 这个博客讲的很好很全面 此类问题一般有如下特点: 1.博弈模型为两人轮流决策的非合作博弈.即两人轮流进行决策,并且两人都使用最优策略来获 ...

  6. 关于博弈基础知识的总结:巴什博弈(Bash Game)、威佐夫博奕(Wythoff Game)、尼姆博奕(Nim Game)

    转载自http://www.aiuxian.com/article/p-942548.html 博弈论是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论. 基础的基础 ...

  7. HDU2147 巴什博弈

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2147 题目大意:就是有一个游戏,在一个n*m的矩阵中起始位置是(1,m),走到终止位置(n,1):游戏 ...

  8. 巴什博弈、威佐夫博弈、妮姆博奕、斐波那契博弈

    巴什博弈 一堆   n个物品    两人轮流从中取物品    每人至少拿一个  最多拿m个    将这堆物品最后取完的是winner 先手胜利条件-------------   n%(m+1)!=0 ...

  9. hdu 1846 Brave Game 勇敢者的游戏 DP/巴什博弈

    动态规划/简单博弈 Brave Game Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

最新文章

  1. 接口responsecode返回500_springboot+redis+Interceptor+annotation实现接口自动幂(989)
  2. 线上环境HBASE-1.2.0出现oldWALs无法自动回收情况;
  3. vue结合ueditor富文本编辑器(换肤分离)
  4. [Swift]LeetCode74. 搜索二维矩阵 | Search a 2D Matrix
  5. 欧盟抢先发布人工智能道德准则:AI要以人为本,负责任且无偏见
  6. java steam 去重_Java中对List去重 Stream去重的解决方法
  7. two points
  8. NotePad++常用快捷键。——Arvin
  9. chm转txt(chm转txt格式转换器安卓)
  10. 【数据结构】从零实现顺序表+链表相关操作
  11. html自动聊天机器人源代码,QQ全自动聊天机器人
  12. AMD 宣布开源 Linux 显卡驱动与 GPUOpen 工具
  13. 如何用c语言给信息加密,求助:如何用C语言实现LFSR加密
  14. socket编程——upd(数据报套接字)
  15. Java基础 第二天
  16. MVC有哪几种过滤器?
  17. 理解不变因子、行列式因子、初等因子
  18. 计算机基础——Windows 7操作系统
  19. Classic BADI总结
  20. Filter Listener

热门文章

  1. 前端开发中通过js设置cookie的一组方法
  2. request的生命周期
  3. HDU 1021 Fibonacci Again 简单数学题
  4. 申请域名的理由_申请网站名称和域名注册为商标的重要性增加了吗?原因?
  5. containers文件夹可以删除吗_电脑进行C盘清理,appdata文件夹可以删除吗?
  6. nexus 7 arm linux,Nexus 7安装Ubuntu Touch
  7. mac地址厂商对应表_网络工程师一分钟搞懂MAC地址表知识点全部内容,建议收藏...
  8. mysql设置最大连接数为200_设置mysql最大连接数的方法
  9. 函数调用关系图如何画_乌鲁木齐126中一校三址关系图出炉!佳源和绿谷应该如何选择?...
  10. linux xshell上传文件夹,XShell上传文件到Linux服务器上