垃圾学渣求毕业 2022-01-04 04:18 采纳率: 50%
浏览 96
已结题

C++ Game Theory 堆游戏

回想一下堆游戏(有时以火柴棒拼图的形式出现):
• 有一个堆,最初由 n 个物品组成
• 两名玩家轮流移除 1 到 k 件物品
• 第一个不能再移动的玩家输了。
你和朋友经过紧张的谈判,同意了以下的规则修改:朋友不再是每回合拿 1 到 k 物品,现在允许他在 2 到 k+1 之间任意选择。
作为交换,对手同意总是让你先行动。
当然,这意味着您现在需要调整策略,以便尽可能多地获胜。

输入包括
• 一行整数 T (1 ≤ T ≤ 10^5) – 玩游戏的次数
• T 行,第 i 个包含整数 ni 和 ki (1 ≤ ni, ki ≤ 10^9) – 第 i 个游戏的参数

输出
对于每一局游戏,输出你在第一步棋中可以移除的最大数量的物品,使你的朋友在你的所有剩余棋步都完美的情况下不能赢得游戏。如果没有任何一步棋能以这种方式确保胜利,则输出0。

img

  • 写回答

2条回答 默认 最新

  • 仰望星空的代码 领域专家: 前端开发技术领域 2022-01-04 10:21
    关注

    英文不好,翻译一下题目要求吧。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月11日
  • 修改了问题 1月9日
  • 创建了问题 1月4日