49 萌新水题赛 C题 博弈论 每次取p≤i≤q个

HDU 2897

巴什博弈:每次取p≤i≤q个的博弈

要求:二人博弈,共n个硬币,每次最少取p个硬币,最多取q个硬币。当剩余硬币数少于
p时一次取完。取最后一个硬币的人输,问先手是否会赢。
方法:n对(p+q)取模,每次取硬币数i满足p≤i≤q,故p≤p+q-i≤q。
1.若p=q,当n%p=0时先手赢,否则先手输。
2.若p<q,
n%(p+q)=0时,先手赢。
先手先取q,中间经历m轮后手取i,先手取p+q-i,m≥0,最后后手取p,先手赢。

0<n%(p+q)≤p时,先手输。
经历m轮先手取i,后手取p+q-i,m≥0,最后先手取n%(p+q),先手输。

p<n%(p+q)≤q时,先手赢
先手先取p,中间经历m轮后手取i,先手取p+q-i,m≥0,最后后手取n%(p+q)-p,先手赢。

q<n%(p+q)<p+q时,先手赢。
先手先取q,中间经历m轮后手取i,先手取p+q-i,m≥0,最后后手取n%(p+q)-q,先手赢。

猜你喜欢

转载自blog.csdn.net/irving0323/article/details/81225446
今日推荐