暑假集训小结:
(一)博弈论基础:
- 巴什博弈
- 威佐夫博弈
- Nim博弈
- sg函数的求法
1.巴什博弈:
定义:
只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。
分析:
当游戏只剩下m+1个时,无论当前玩家拿走多少个物品,对手一定能一次取走所有物品,所以在剩下m+1个物品时,对手一定能够获胜。
因此局面可分为两种情况:n = (m+1) * r + s
(1) 0 < s <= m : 只要先取者取走s个石子。当后取者取走k个石子的时候,先取者只要取走m+1-k个石子使场上石子数为(m+1)的整数倍。因此,先取者一定获胜。
(2) s=0 :类似上面的分析方法。先取者一定失败。
代码示例:
int n,m;
if(n%(m+1)==0)
后手胜;
else
先手胜;