巴什博弈
只有一堆共n个石子,两人轮流取,最少取一个,最多取m个,最先取光石子的人赢。
做法:如果n%(m+1)!=0则先手必胜,否则后手必胜。
威佐夫博弈
有两堆各x,y个石子,两人轮流从某一堆或同时从两堆中取同样多的石子,规定每次至少取一个,多者不限,最先取光石子的人赢。
做法:若两堆物品的初始值为(x,y),且x< y,记w=(int)((sqrt(5.0)+1.0)/2.0∗(y-x));如果w=x则先手必输,w!=x则先手必胜。
尼姆博弈
有n堆石子(可假设分别为a[1]~a[n]个石子),两人轮流从某一堆取任意多的石子,规定每次至少取一个,多者不限,最先取光石子的人赢。
做法:将所有的石子堆异或,若异或结果不等于零(非平衡局面)则先手必胜,否则后手必胜。
反尼姆博弈
尼姆博弈是最先取光石子的人赢,而反尼姆博弈是最先取光石子的人输。
做法:将所有的石子堆异或,设为ans,反尼姆博弈中先手必胜有两种可能:
- ans!=0且存在a[i]>1
- ans=0且所有a[i]=1
斐波那契博弈:
有一堆物品,总数n,两人轮流取物品,先手最少取一个,至多无上限,但不能把物品取完,之后每次取的物品数不能超过上一次取的物品数的二倍且至少为一件,取走最后一件物品的人获胜。
做法:若n不是斐波那契数,先手胜;否则,后手胜。