题意:初始 p=1,两位玩家轮流,给 p 乘上一个 2 到 9 的数,谁先使得 p 超过给定的
n 谁胜利。
分析:如果刚开始的数时位于 2-9 之间的,那么先手必胜。如果刚开始的数时位于
10-18 的,那么先手必败,因为无论先手选什么,后手只要乘以 2 就能够到达 10-18 之内的
所有数。如果刚开始的数位于 19-162,那么先手必胜,可以这么想,先手选一个 9,那么后
手乘以一个数后,Num>=18,此时先手再乘以 9,那么就大于 162 之内的任何数了。如果刚
开始的数位于 163-324 时,那么先手必败,可以这么考虑,后手可以控制一个数到达 9-18
之间,那么先手如果乘个 2 的话(乘以大的那就更不用说了),那么就会到达 18-36 这个区间,
此时后手再乘以 9,那么就可到达 163-324 之间的任何数。以此类推,不断除 2、除 9 循环,
找到其所在区间即可。
(二)威佐夫博弈(Wythoff Game)
游戏情形:有两堆数量各若干的物品,两个人轮流从某一堆或同时从两堆中取同样多的
物品,规定每次至少取一个,多者不限,最后取尽物体一方赢。
对抗策略分析:我们用(ak,bk) (ak<=bk,k=0,1,2,···,n)表示两堆物品的数量并称其为局势。
如果甲面对(0,0),那么甲已经输了,这样的局势我们称为奇异局势。前几个奇异局势为:(0,0)、
(1,2)、(3,5)、(4,7)、(6,10)、(8,13)、(9,15)、(11,18)、(12,20)。可以看出,a0=b0=0,ak 是未在
前面出现过的最小的自然数,而 bk=ak+k。奇异局势有如下三个性质:
【性质 1】 任何自然数都包含在一个且仅有一个奇异局势中。
【性质 2】 任意操作都可以将奇异局势变为非奇异局势
【性质 3】 采用适当的方法,可以将非奇异局势变为奇异局势
分析:假设面对的局势是(a,b)。
如果 b=a,则同时从两堆中取走 a 个物体,就变成了奇异局势(0,0)。
如果 a=ak,b>bk,则取走 b-bk 个物体,则变为奇异局势。
如 果 a=ak , b
ak,b=ak+k,则从第一堆中拿走多余的数量 a-ak 即可。
如果 a