一排石头的游戏

举报
用户已注销 发表于 2021/11/19 07:08:36 2021/11/19
【摘要】 来自《编程之美》 N块石头排成一行,每块石头有各自固定的位置。两个玩家依次取石头,每个玩家每次可以取其中任意一块石头,或者相邻的两块石头,石头在游戏过程中不能移位(即编号不会改变),最后能将剩下的石头一次取光的玩家获胜。这个游戏有必胜策略吗? 这个题目和放硬币问题(点击打开链接)差不多 答案是先手有必胜策略。 拓展: ...

来自《编程之美》

N块石头排成一行,每块石头有各自固定的位置。两个玩家依次取石头,每个玩家每次可以取其中任意一块石头,或者相邻的两块石头,石头在游戏过程中不能移位(即编号不会改变),最后能将剩下的石头一次取光的玩家获胜。这个游戏有必胜策略吗?

这个题目和放硬币问题(点击打开链接)差不多

答案是先手有必胜策略。


拓展:

如果规定,最后取完所有硬币的人输,谁又有必胜策略呢?

先看看前面几个状态:

1是负态,2是胜态,3是胜态,4是负态


其实,先手第一次操作无非只有2类:

第一类,把n变成a和b,a+b=n-1或n-2

即留下左边的a个和右边的b个,取走1个或者2个

第二类,把n变成n-1或者n-2,即取走最左边的1个或者2个


对于第一类操作:

(1)如果a是负态

后手可以保证b那一块是后手最后拿完。

也就是说,后手可以保证,a那一块一定是先手先开始拿。

注意,我并没有说先拿完b,然后先手就只能拿a了,而是说,a和b是独立的,

既然后手可以保证b那一块是后手最后拿完,那么就可以保证,a那一块一定是先手先开始拿。

这样的话,后手就胜利了。

(2)如果b是负态,和(1)是一样的

(3)如果a和b都是胜态

显然后手就胜利了。

a和b是独立的,后手可以保证a是先手最后拿完,b也是先手最后拿完。

也就说,无论n是多少,如果先手采用第一类操作,就一定输了。


如果n-1或者n-2是负态,那么对应的取走最左边的1个或者2个,这就是必胜策略了,n就是胜态。

如果n-1和n-2都是胜态,那么n就是负态。

根据这个进行递推可以发现,

如果n=3k+1,那么后手有必胜策略,如果n=3k或者3k+2,那么先手有必胜策略。


答案是,如果n=3k+1,那么后手有必胜策略,如果n=3k或者3k+2,那么先手有必胜策略。

文章来源: blog.csdn.net,作者:csuzhucong,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/nameofcsdn/article/details/52703230

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。