#bYybttg060701. 1663:【 例 1】取石子游戏 1

1663:【 例 1】取石子游戏 1

好的,我将这道题整理为清晰的题面格式,并补充样例解释、数据范围与时空限制:


题目描述

有一种有趣的游戏,玩法如下:

  • 玩家:22 人;
  • 道具:NN 颗石子;
  • 规则:
    1. 游戏双方轮流取石子;
    2. 每人每次取走若干颗石子(最少取 11 颗,最多取 KK 颗);
    3. 石子取光,则游戏结束;
    4. 最后取石子的一方为胜。

假如参与游戏的玩家都非常聪明,问最后谁会获胜?


输入格式

输入仅一行,两个整数 NNKK


输出格式

输出仅一行,一个整数,若先手获胜输出 11,后手获胜输出 22


样例

样例输入

23 3

样例输出

1

样例解释

N=23,K=3N=23, K=3

这是经典的 Bash Game(巴什博弈):

  • 如果 Nmod(K+1)0N \bmod (K+1) \neq 0,先手必胜;
  • 如果 Nmod(K+1)=0N \bmod (K+1) = 0,后手必胜。

计算:23mod4=3023 \bmod 4 = 3 \neq 0,所以先手必胜,输出 11


数据范围

对于全部数据:

  • 1N1051 \le N \le 10^5
  • 1KN1 \le K \le N

时空限制

  • 时间:1000 ms1000 \text{ ms}
  • 内存:524288 KB524288 \text{ KB}

提示
这是博弈论中的巴什博弈(Bash Game) 问题。
m=K+1m = K+1
如果 Nmodm0N \bmod m \neq 0,先手第一次取走 NmodmN \bmod m 颗,之后每次与对手取的数量和为 mm,可以保证最后一颗石子由先手取走。
如果 Nmodm=0N \bmod m = 0,无论先手取多少颗(11KK),后手都可以取相应数量的石子使得两人取的和为 mm,最终后手取走最后一颗。