理解错题意啦 这题根本就不是博弈呀 一直在往博弈的方向写 题目中说只能拿连续的,博弈可不是这样 假设 1 2 3 4 这四个石子 如果2被拿走了 那1和3也就断开了,不能一起拿了 ,我们可以分为几种情况,n为偶数和n为奇数的情况,当n为偶数的情况 肯定是后手获胜 因为一旦n为奇数 第一个给人可以先拿一个 后面无论第二个人怎么拿 只要第一个人跟他拿一样的就可以了 最终肯定是第二个人没有石子可以拿 所以第一个人获胜 ,如果是偶数 就变成第二个人获胜了,n等于0的情况要分开考虑
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int i,j,k,m,n;
scanf("%d%d",&n,&k);
if(n==0)
{
printf("Austin\n");
return 0;
}
if(n<=k)
{
printf("Adrien\n");
return 0;
}
// if(k==1)
// {
// if(n%2==0)
// {
// printf("Austin\n");
// }
// else
// printf("Adrien\n");
// return 0;
// }
if(n%2!=0)
{
printf("Adrien\n");
return 0;
}
if(k!=1)//偶数个
{
printf("Adrien\n");
}
else
{
printf("Austin\n");
}
}