loj10241 取石子游戏1

传送门

分析

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

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
      int n,k;cin>>n>>k;
      if(n%(k+1)==0)cout<<2<<endl;else cout<<1<<endl;
      return 0;
}
posted @ 2018-08-25 17:13  水题收割者  阅读(157)  评论(0编辑  收藏  举报