HDU1846 Brave Game 巴什博奕简单版。 常见四种博弈的讲解: https://blog.csdn.net/ac_gibson/article/details/41624623
HDU 2897 邂逅明下 巴什博奕复杂版。(巴什博奕注意的2个地方, 第一:不管第一个人拿几个,第二个人一定可以使两个人
拿的数凑成一个值,为N。 第二:取胜的条件或者失败的条件)。 若总的为 N , 每
个人每次取 p - q, 则存在一个数使得 N = (p+q) + k,然后根据题意求解 k 的 值 判断
结果。
HDU 2516 取石子游戏 威佐夫博弈 威佐夫博弈:
有两堆各若干的物品,两人轮流从其中一堆取至少一件物品,至多不限,或从两堆中
同时取相同件物品,规定最后取完者胜利。
直接说结论了,若两堆物品的初始值为(x,y),且x<y,则另z=y-x;
记w=(int)[((sqrt(5)+1)/2)*z ]; //黄金比例为 (sqrt( 5 ) - 1) / 2
或者用floor函数向下取整 及 x = floor (3.65) , x = 3;
原式: w = floor( ( sqrt( 5 ) + 1 ) / 2 * z );
若w=x,则先手必败,否则先手必胜。
poj 2234 Matches Game 尼姆博弈:
有任意堆物品,每堆物品的个数是任意的,双方轮流从中取物品,每一次只能从一
堆物品中取部分或全部物品,最少取一件,取到最后一件物品的人获胜。
按位异或的3个特点:
(1) 0^0=0,0^1=1 0异或任何数=任何数
(2) 1^0=1,1^1=0 1异或任何数-任何数取反
(3) 任何数异或自己=把自己置0
异或运算求sg函数的值。(http://www.cnblogs.com/ECJTUACM-873284962/p/6398385.html)
结论就是:把每堆物品数全部异或起来,如果得到的值为0,那么先手必败,
否则先手必胜。
HDU 1848 Fibonacci again and again 题解: 转载: https://www.cnblogs.com/ECJTUACM-873284962/p/6921829.html