又是一道思维题,首先可以想到如果k = 1,那么如果n是奇数则必是Adrien赢,偶数就是Austin赢,然后考虑k > 1的情况,如果k大于1了,并且n是奇数
那么Adrien可以第一次拿掉最中间的然后之后按对称Austin的位置去拿,就可以赢,那么如果是n是偶数就要之一如果k>=2那么Adrien一开始可以拿掉中间的两个来还原奇数的情况,所以还是Adrien赢,所以总结来说Austin赢的情况只有n = 0(特殊点) 或者n是偶数并且k=1,还要注意的是如果n<=k Adrien直接赢
代码如下(示例):
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
if(!n){
cout<<"Austin"<<endl;
}
else{
if(n<=k) {
cout<<"Adrien"<<endl;
}
else{
if(n%2!=0) {
cout<<"Adrien"<<endl;
}
else{
if(k==1){
cout<<"Austin"<<endl;
}
else{
cout<<"Adrien"<<endl;
}
}
}
}
}