#P2368. Buttons
Buttons
题目描述
如你所知,叶卡捷琳堡已获得举办2032年夏季奥运会的权利。按计划,作为主办国的俄罗斯将被允许对奥运会项目进行一些调整。为了提升团队成绩,决定用新游戏“纽扣”比赛取代体操比赛。
游戏规则很简单。在两名玩家面前有一小堆K个纽扣。玩家轮流从堆中拿取纽扣,每次可以拿取1到L个纽扣。拿走最后一个纽扣的玩家获胜。
奥运会的规则会比平常更具挑战性。通过抽签决定先行动的玩家有机会确定一个数字K,需满足限制条件3 ≤ K ≤ 100000000(这正是为奥运会比赛准备的纽扣确切数量)。后行动的玩家确定一个数字L,需满足条件2 ≤ L < K 。
你的团队面临一项关键任务:编写一个程序,帮助后行动的玩家做出选择。换句话说,给定数字K,你的程序要找到一个数字L,确保在双方都采用最优策略的情况下,后行动的玩家获胜。
例如,若堆里只有3个纽扣,选择L = 2能确保后行动的玩家获胜。实际上,如果先行动的玩家一轮只拿1个纽扣,后行动的玩家拿走剩下的2个纽扣就能获胜;反之,如果先行动的玩家拿走2个纽扣,后行动的玩家拿走最后1个纽扣也能获胜 。
输入
标准输入仅一行,包含一个整数K——先行动的玩家确定的堆中纽扣数量。
输出
向标准输出写入唯一的数字L——能确保后行动的玩家获胜的一轮最多可拿取的纽扣数。如果有多个这样的L值,输出最小的那个。如果不存在这样的数字,则向标准输出写入0。
3
2
来源
乌拉尔国立大学2000年10月内部竞赛,初级组