Chomp!游戏

这是什么游戏呢?举个例子先。
有一个n*m的棋盘,每次可以取走一个方格并拿掉它右边和上面的所有方格。拿到左下角的格子(1,1)者输。那么谁会赢呢?
乍一看不太好解。其实答案很简单,除了n=m=1的情况,先手总能赢。
下面我们用反证法证明。
若后手能赢,则后手一定有必胜策略,也就是说后手取走了某个方格后先手必败。而事实上如果这个方格存在,先手完全可以先取走,那么后手必败,与假设矛盾。所以后手必败。注意这只是针对n*m>1的情况,如果n=m=1则先手必败,因为先手只能取那唯一的格子。
下面再举个例子。
有n张纸片摆在你面前,第i张纸片上写着数字i。每次可以取走一张纸片和数字是该纸片因数的纸片。问谁会赢?
和上面的例子差不多,只要n不为1,总是先手赢。
然后还有一个稍微难些的例子。
现在有一棵含n个节点的有根树,根节点是1,每个点初始时都是白色。每次可以把任意一个白色节点到根节点经过的所有的点(包括该节点)变成黑色。谁最后把整棵树染黑了,谁就输了。
不难看出,只要n不为1,还是先手赢。若后手选择一个节点后必胜,那先手完全可以“先下手为强”,则先手胜利。发现了吗?其实这棵树长什么样根本不用管,只要判断n就可以了。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值