博奕

1.威佐夫博弈

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;
}

2.巴什博奕

即,若n=k*(m+1),则后取着胜,反之,存在先取者获胜的取法。

n%(m+1)==0. 先取者必败

3.尼姆博奕

 

posted @ 2016-08-08 20:59  认清本质  阅读(144)  评论(0)    收藏  举报