您的位置:首页 > 其它

hdu 1846 巴什博弈论

2013-11-01 13:21 316 查看
有这样一个游戏

有一堆个数为n的石头堆

有两个人A和B轮流从这堆石头取石头至少要取1个 最多取m个(m < n)

最后将石头取走的人为胜利

问假如A先取石头 A和B取石头的方式都是最优化的 那么最后谁会赢得胜利?

想想 如果想要胜利是不是说最后一个取石头的人能够取得石头数量最多为m个 最少为 1个

那么前一个人是不是在 m + 1 的情况下取才能够满足下一个人取一定获胜?

那么

对于巴什博弈论有这样一个公式 如果n = ( m + 1) * r +s                    
//         r 为正整数    0 < s<=  m

在最优化的情况下 那么先手一定获胜

必胜点分别为 s , s + m + 1,s + ( m + 1)* 2,... ,s + (m + 1) * r  (就是n)

如果s为0的话   即 n = ( m + 1)* r  那么先手一定输 后手一定胜利

因为第一次取石子 假设先手取的数目为 t ( 1 <= t <= m)

那么 接下来剩的石子数目为 n - t = ( m + 1) * ( r - 1) +(
m + 1 - t)      //     1 <=( m + 1 - t)<= m

这个时候是不是就是后面的式子就是s 整个式子变成了N = ( m + 1) * R +S     //  R 这里为自然数 可能为0

而且这个时候应该是后手开始取石头 那么根据上面先手必胜的例子就可以知道 这个时候后手必胜。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 acm 博弈论