1. 程式人生 > >威佐夫博奕模板

威佐夫博奕模板

https://www.cnblogs.com/chenhuan001/p/5735165.html

 

//威佐夫博奕:有兩堆各若干個物品,兩個人輪流從某一堆或同時從兩堆中取同樣多的物品,規定每次至少取一個,多者不限,最後取光者得勝。
//輸入:兩堆大小
//返回: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;
}