题解 | #宿命之间的对决# #博弈# #因数#

牛客46811D - 宿命之间的对决

https://ac.nowcoder.com/acm/contest/46811/D

题意

给出一个正整数 x(1x1018)x(1\leq x\leq 10^{18}),Alice 和 Bob 轮流进行如下操作:

  1. 选取原数的一个因子 pp
  2. x:=xpx:=x-p

谁先将 xx 减到 0\leq0,谁输。Alice 先手

问谁赢

思路

不难发现,如果双方足够聪明,选择的因子 pp 一定 \leq 当前数,最终数字会被正好减到 00

前置知识: 奇数的所有因子都是奇数,偶数至少有一个因子是偶数

当原数是奇数

任何数字减去奇数能让奇偶性改变,并且奇数的所有因子都是奇数。所以当原数是奇数时,不可避免地要减奇数次,Alice 必先将原数减为 0\leq 0,Alice 必败

当原数是偶数

Alice 可以直接减去一个奇数来让 Bob 拿到奇数(必败态给了 Bob),参照上一条,Bob 必败

博弈论与博弈思想 文章被收录于专栏

博弈论、思维

全部评论
棒棒
点赞 回复 分享
发布于 2023-02-09 17:30 山东
奇数 - 奇数,不是应该是个偶数吗
点赞 回复 分享
发布于 2023-01-22 14:34 湖南

相关推荐

秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务