威佐夫博弈模板
威佐夫博弈(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; }