题目链接:点击打开链接
题目分析:BASH GAME。对于m<=n时,L必赢则可以起拍的价格自然有m~n。
m>n时,如果m%(n+1)==0时,后手一定赢。
如果m%(n+1)!=0则,先手可以拿走m%(N+1)
代码如下,欢迎斧正
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<string>
#include<queue>
#include<stack>
#include<cmath>
using namespace std;
int main()
{
int n,k,t,i;
while( scanf("%d %d",&n,&k)!=EOF)
{
if(n<=k)
{
for(i=n;i<=k;i++)
{printf("%d",i);
if(i==k)printf("\n");
else printf(" ");}
}
else
{
if((n)%(k+1))
{
printf("%d\n",(n)%(k+1));
}
else printf("none\n");
}
}
return 0;
}

本文针对BASHGAME策略游戏进行深入分析,当初始数量m小于等于玩家可移除的最大数量n时,先手玩家必胜;当m大于n且m不能被n+1整除时,先手玩家同样可以通过特定策略确保胜利。文章提供了简洁的C++代码实现。
285

被折叠的 条评论
为什么被折叠?



