博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
巴什博奕
阅读量:7088 次
发布时间:2019-06-28

本文共 495 字,大约阅读时间需要 1 分钟。

有一堆物品,个数为n,两个人轮流从其中拿物品,最少取一个,最多取m个,最后取光者获胜。

  1. 当物品的个数1<=n<=m时,那么先手拿物品的人必胜。
  2. 当物品的个数n=m+1时,先手无论拿几个,后手必胜。
  3. 当物品的个数m+2<=n<=2m,先手可以拿走若干个剩下m+1个给后手,那么先手必胜。

因此,无论先手还是后手,只要其面临的物品个数为m+1时,其必败。

 

 

推广:

  • 当物品个数为n=k*(m+1)+b时

   先手拿走b个,后手拿走x个,那么先手再拿走m+1-x个,即除了先手第一次拿的个外,每轮取走的物品都是m+1,即留给后手的个数总为m+1的整数倍个,那么先手必胜。

 

  • 当物品个数n=k*(m+1)时

    这种情况先手必败(请读者自行分析)。

 

C++代码示例:

int main(){    int n,m;    cin>>n>>m;if(n % (m+1) !=0)     cout<<"First";    else     cout<<"Second";    return  0;}

 

转载于:https://www.cnblogs.com/LMIx/p/10699922.html

你可能感兴趣的文章
Confluence 6 数据库整合的限制
查看>>
scala 与 java泛型数组
查看>>
哈佛团队开发出使用声波来辅助粘性液体的3D打印技术
查看>>
leaflet实用插件整理
查看>>
vue基础
查看>>
Eclipse中安装MemoryAnalyzer插件及使用
查看>>
GEF入门实例_总结_02_新建初始RCP空项目
查看>>
用js来实现那些数据结构04(栈01-栈的实现)
查看>>
你的api加锁了吗?
查看>>
Alpine Linux 3.9.2 发布,轻量级 Linux 发行版
查看>>
界面无小事(二): 让RecyclerView展示更多不同视图
查看>>
关于C++、PHP和Swoole
查看>>
linux日志系统
查看>>
AV1挑起的Codec之战
查看>>
虚拟环境的配置
查看>>
.NET快速信息化系统开发框架 V3.2-Web版本“产品管理”事例编辑界面新增KindEditor复文本编辑控件...
查看>>
浅谈直播行业发展前景和发展方向
查看>>
2- OpenCV+TensorFlow 入门人工智能图像处理-opencv入门
查看>>
java.lang.Integer源码精读(一)
查看>>
Flink1.4 窗口触发器与Evictors
查看>>