loj10241 取石子游戏1

传送门

分析

我们发现如果在某个人取完之后还剩k+1个石子,则这个人必胜。所以我们可以将n个石子转化为n-k-1个,然后不断递归的转化下去。最后我们可以得到对于n个石子的胜负只与谁先取到n%(k+1)个石子有关。所以如果这个值为0则2胜,否则1胜。

代码

#include
using namespace std;
int main(){
      int n,k;cin>>n>>k;
      if(n%(k+1)==0)cout<<2<else cout<<1<<endl;
      return 0;
}

转载于:https://www.cnblogs.com/yzxverygood/p/9534717.html

你可能感兴趣的:(loj10241 取石子游戏1)