1663:【 例 1】取石子游戏 1
【题目描述】
有一种有趣的游戏,玩法如下:
玩家: 2
人;
道具: N
颗石子;
规则:
1、游戏双方轮流取石子;
2、每人每次取走若干颗石子(最少取 1
颗,最多取 K
颗);
3、石子取光,则游戏结束;
4、最后取石子的一方为胜。
假如参与游戏的玩家都非常聪明,问最后谁会获胜?
【输入】
输入仅一行,两个整数 N
和 K
。
【输出】
输出仅一行,一个整数,若先手获胜输出 1
,后手获胜输出 2
。
【输入样例】
23 3
【输出样例】
1
【提示】
数据范围与提示:
对于全部数据, 1≤N≤10^5,1≤K≤N
。
【思路】必胜策略,可得(N%(k+1)==0)时先手必输,其他则先手必赢(不会必胜策略可以用枚举也能弄出来)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
if(n%(k+1)==0){cout<<2;
}
else
{cout<<1;
}
return 0;
}