一)巴什博弈(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。

很容易想到当n%(m+1)<>0时,先取必胜,第一次先拿走n%(m+1),以后每个回合到保持两人拿走的物品总和为m+1即可。

这个游戏还可以有一种变相的玩法:两个人轮流报数,每次至少报一个,最多报十个,谁能报到100者胜。

(二)威佐夫博弈(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇异局势是:(0,0)、(1,2)、(3,5)、(4,7)、(6,10).可以看出,a0=b0=0,ak是未在前面出现过的最小自然数,而 bk=ak+k.

那么任给一个局势(a,b),怎样判断它是不是奇异局势呢?我们有如下公式:

ak =[k(1+√5)/2],bk= ak + k  (k=0,1,2,...,n 方括号表示取整函数)

奇妙的是其中出现了黄金分割数(1+√5)/2 = 1。618...,因此,由ak,bk组成的矩形近似为黄金矩形,由于2/(1+√5)=(√5-1)/2,可以先求出j=[a(√5-1)/2],若a=[j(1+√5)/2],那么a = aj,bj = aj + j,若不等于,那么a = aj+1,bj+1 = aj+1+ j + 1,若都不是,那么就不是奇异局势。然后再按照上述法则进行,一定会遇到奇异局势。

(三)尼姆博弈(Nimm Game):有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

对于任何奇异局势(a,b,c),都有a^b^c=0.

非奇异局势(a,b,c)(a<b<c)转换为奇异局势,只需将c变为a^b,即从c中减去 c-(a^b)即可。

#include <iostream>
#include <cmath>
using namespace std;

const double q = (1 + sqrt(5.0)) / 2.0;   // 黄金分割数

int Wythoff(int a, int b)
{
    if (a > b)
  swap(a, b);
    int k = b - a;
    if (a == (int)(k * q))
  return 0;               // 奇异局面, 先手必败
    return 1;
}

int main ()
{
    int a, b;
    while (scanf("%d%d", &a, &b) != EOF)
    {
       printf("%d/n", Wythoff(a, b));
    }
}

闲的没事干看看博弈,感觉逼格屌屌的相关推荐

  1. 创造型与消费型活动:两个人在一起没事干怎么办?

    创造型与消费型活动:两个人在一起没事干怎么办? 前面我们一直在探讨双方在没有确定关系之前,有哪些注意事项和原则.从这一讲开始,我们就要进入恋爱后的世界了. 不过,这谈恋爱后,和谈恋爱前相比,问题是只多 ...

  2. 国庆在家没事干?教大家用Python做一个任何视频都能看的软件, 当然,只能看正经的

    这不,国庆放假了,虽然说还在读书的同学们假期只有三天,但是咱上班的假期多鸭,哈哈~ 想当初,我大一的时候,国庆假期十五天,真爽啊~ 好了好了,话说回来,放这么久的假,三天也是假,这不是怕大家又不能出去 ...

  3. 简历上把同事干的活都写上,背调会被发现吗?同事把活都干完了,导致我没事干了!...

    简历如何写得高大上? 一位网友给出了自己的答案--把同事干的活都写在自己简历上! 他说,因为同事太牛,把活都干完了,现在自己没事干了. 那么问题来了,这样做背调会发现吗? 网友表示,只要能看懂代码,项 ...

  4. 作为部门领导,自己天天撸代码忙成狗,下属却没事干,怎么办?丨管理课推荐...

    很多管理者可能正处于一个最尴尬的时代.好不容易在奔四的年龄混上主管.总监,每天却可能面临这样的状况: "加班到深夜,天天撸代码忙成狗,但是下属都准点打卡下班" "bug搞 ...

  5. 笔记本nc10装linux,这台笔记本挂闲鱼没人要 结果拍出八百万天价

    大家一般怎么处理老款笔记本呢,无非有这几种做法:给长辈当上网本.当下载机.挂闲鱼卖掉.不过有一台装有Windows XP的老笔记本却拍出829万人民币的高价,夸张的是,目前拍卖价格还在上涨. 这是一台 ...

  6. 没学计算机专业感觉失去了世界,前职业选手 Looper 张亨硕专访——消失于银杏丛林之中...

    采访:丹尼二狗 图:十三.一村.LoL Esports 25 岁.大一.计算机专业.未服兵役.出现在的 11 月寒冷的首尔街头,一身便装的 Looper 和普通的大学男生别无二致.约定见面的地点距离首 ...

  7. 【转载】好电影!保存了,没事干的时…

    [各类好电影] [最费脑力的14部电影] <盗梦空间>.<记忆裂痕>.<生死停留>.<死亡幻觉>.<禁闭岛>.<穆赫兰道>.&l ...

  8. 居家隔离没事干?进来秒变算法工程师

    目前,中国内地的疫情正在经历着一轮"倒春寒".近期的深圳,大量的医护人员和保障民生的工作人员奔波在一线,守护着这座城市.尤其随着气温逐渐升高,他们的辛苦倍增.米酱在积极配合防疫要求 ...

  9. 当你没事干的时候。。。

    http://zenhabits.net/30-things-to-do-to-keep-from-getting-bored-out-of-your-skull-at-work/

最新文章

  1. HTTP 各版本特点与区别
  2. 处理文件和文件夹的模块---os
  3. java的spinner_java中的spinner | 学步园
  4. 【机器学习】对于特征离散化,特征交叉,连续特征离散化非常经典的解释
  5. linux namespace 工具,Linux Namespace : 简介
  6. 自己本地搭建svn仓库_「PHP编程」如何制作自己的Composer包?
  7. SQL的一个排序的问题
  8. carmaker/matlab联合仿真(一) 新建工程,运行自带example
  9. android全局屏幕自动旋转,如何在Android中全局强制屏幕方向?
  10. w ndows10图标,Win10桌面图标没了怎么办?Win10桌面快捷方式消失了解决方法
  11. python 对 PDF 的拆分 和合并
  12. 春天里,阳光下,无限的哀思和想念
  13. PG-Strom源码分析
  14. 外卖点餐管理系统源码
  15. 2023计算机毕业设计SSM最新选题之java二手车交易平台设计6b7sc
  16. 产品经理求职方法指南:面试通关
  17. 【Java】渐变头像生成-代码实现
  18. win10安装docker导致virtualbox无法启动问题解决
  19. Linux环境下搭建Apache服务器(完整版)
  20. IT领域唯一的国家级证书,积分落户、评职称、抵个税...

热门文章

  1. 黑马程序员SSM_MybatisPlus笔记(自用)
  2. 前端小白如何提高,解决问题
  3. 《Effective C++》读书摘要
  4. 小型IT咨询公司发展迅猛
  5. CRMEB知识付费V2.1.4免授权版本更新发布
  6. 你可能想象不到,手机号码标记居然也是一门月赚十万的好生意
  7. GB28181实现摄像头网页无插件直播、回放过程中设备状态分析
  8. LiveNVR直播拉流转码无插件直播流媒体服务如何配置视频流水印视频上面添加水印
  9. macOS系统安装NMAP扫描工具
  10. 【分治思想】12627 Erratic Expansion