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

//威佐夫博奕:有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
//输入:两堆大小
//返回:0表示必败,1表示必胜
bool Wythoff(int n,int m)
{
    if(n<m) swap(n,m);
    int k=n-m;
    n=(int)(k*(1+sqrt(5))/2.0);
    if(n==m)
        return 0;
    else
        return 1;
}

 

相关文章:

  • 2021-07-01
  • 2021-06-14
  • 2022-12-23
  • 2021-10-14
  • 2021-07-05
  • 2023-02-16
  • 2021-06-01
猜你喜欢
  • 2021-07-31
  • 2022-12-23
  • 2022-02-04
  • 2021-04-04
相关资源
相似解决方案