版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ftx456789/article/details/83107930
题意
有一堆数量为N的石子,石子编号从 排成一列,两个人玩游戏,每次可以取 个连续编号的石子,Adrien先手,如果有谁不能取了则他输,两个人为Adrien 和Austin
思路
当K为1时显然的和N的奇偶性有关,那么我们考虑一下
的情况
对于先手的Adrien来说,他对任意的N颗石子,他都可以将这N颗石子分成两段相当数量的石子(从中间开始拿对于奇数拿一颗,对于偶数拿两颗),那么剩下的两段相当于是独立的两个相同的游戏了,如果后手拿其中一段,那么我先手就对另一段进行这样相同的拆分,那么能保证我先手总是有石子能拿,所以我先手必胜,也就是说当
的时候先手必胜,
的时候判断奇偶,
的时候特判即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <math.h>
#include <stack>
#include <list>
int main()
{
int n,k;
scanf("%d%d",&n,&k);
if(n==0)
{
printf("Austin\n");
}
else if(k==1)
{
if(n%2==1)
printf("Adrien\n");
else
printf("Austin\n");
}
else
printf("Adrien\n");
return 0;
}