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

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

可否翻译一下啥意思