题意:给你n个石子,下标从1到n,每次最多只能取连续的k个石子,问最后谁赢。
思路:刚开始看题以为是简单的博弈,直接上板子来了一发wa,然后仔细读题发现是需要取连续的k个,推导一波不难发现,当k为1时,需要判断n的奇偶,当n大于1时,先手必赢。另外需要特判一下当n为0的情况。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 100;
int main()
{
int n, k;
cin >> n >> k;
bool flag = false;
if(k == 1)
{
if(n % 2 == 0)
flag = true;
}
if(n == 0)
flag = true;
if(flag)
cout << "Austin" << endl;
else
cout << "Adrien" << endl;
return 0;
}