计算机系统应用教程网站

网站首页 > 技术文章 正文

[算法学习Day160]除数博弈-博弈论-奇数与偶数性质

btikc 2024-10-30 02:02:21 技术文章 4 ℃ 0 评论

看到这道题,现在有两个人a和b来玩一个游戏,规定a是先手开局的。现在给定一个标准,整个函数会输入一个数字n,对于a和b都要进行以下的操作。

·第一个,在零到n之间选出一个x,写什么?写这个x,它要是n的一个因数。

·第二个,用n减x替换黑板上的数字n。

请问如果当前的玩家都能够执行下面两个操作,那么就reading true,也就是当前这个玩家获胜了。如果做不到,那就force。而且要关注到这道题是以爱丽丝的视角,也就是第一个人为例的,返回的任务应该是爱丽丝获胜了,返回的force应该是爱丽丝失败了。

尝试一下一些简单的推理。假设第一次,如果n等于是几?n等于是这个五。n等于五的时候,第一次对于爱丽丝来说,它可以从零到五中去选择任何一个数,此时可以选择一,余下选择了一,写这个心的n等于是n减x等于是四。

现在对于b来说,b就在零到四之间去选,b可以选什么?b也选一个一,且一个新的n等于是n减x等于是三。再重复几次,在a再选一,发现它等于二。关键来了,现在发现,因为现在的a选择了一,所以新的n等于是二,而这个二是让b去选的,所以发现没有,对于b来说等于是一。

关注现在的问题,现在新的n已经变成一了,而一没有办法做第一个操作,因为在零到一之间的开区间里面是选不出一来的,所以此时a就没有,a就失败了,所以此时a没法选,因为从零到零到零到零到一之间无法选出符合n挪x等于零的x,因此a失败了。

发现当n等于是七数的时候,a就会失败。所以有一个猜想,将要返回一个q值,怎么写?return钥匙,就可以return一个n去除二等于零。尝试提交一下,发现它是可以运行的,对不对?通过一个特指法来实现了这样的操作。

但是还是觉得刚刚这么来归纳太过于草率了,现在不妨让它更严谨一些,所以现在来试一个简单的特例。现在来一个就是公里化的推倒,公里化推导。

现在考虑一件事情,如果n是偶数,x可以取基数也可以取偶数,因为偶数的因子可以为基也可以为偶数,只要ad选a每次都选一,最后a一定可以遇见n等于二十情况,再选e一让b去面对n等于一,b就发现失败了。

如果n是奇数,x只能取基数,只能取基数,只能取基础就取e,但是发现自己最后会发现,但是考虑到a和b两个玩家每次都采取最优策略,所以a最终面对的是n等于一,又因为不满足n、m、x、a等于零,因此失败,所以分为偶数,则先手成功,n为奇数则先手失败。

这就是本题的简单的归纳。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表