分析
我们发现如果在某个人取完之后还剩k+1个石子,则这个人必胜。所以我们可以将n个石子转化为n-k-1个,然后不断递归的转化下去。最后我们可以得到对于n个石子的胜负只与谁先取到n%(k+1)个石子有关。所以如果这个值为0则2胜,否则1胜。
代码
#includeusing namespace std;int main(){ int n,k;cin>>n>>k; if(n%(k+1)==0)cout<<2<
本文共 287 字,大约阅读时间需要 1 分钟。
分析
我们发现如果在某个人取完之后还剩k+1个石子,则这个人必胜。所以我们可以将n个石子转化为n-k-1个,然后不断递归的转化下去。最后我们可以得到对于n个石子的胜负只与谁先取到n%(k+1)个石子有关。所以如果这个值为0则2胜,否则1胜。
代码
#includeusing namespace std;int main(){ int n,k;cin>>n>>k; if(n%(k+1)==0)cout<<2<
转载于:https://www.cnblogs.com/yzxverygood/p/9534717.html