#P2368. Buttons

    ID: 1369 传统题 1000ms 256MiB 尝试: 26 已通过: 1 难度: 10 上传者: 标签>博弈论Ural State University Internal Contest October'2000 Junior Session

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月内部竞赛,初级组