题意:
n个石头再1-n的位置上,两个人轮流取时候,必须取连续的一段,最多取k个,不能取为输,问谁会赢
解析:
当k大于等于2时,先手总能把石头分成相等的两部分,此时后手无论怎么走,先手在对称的位置选择同样的策略即可
代码:
#include <algorithm> #include <iostream> #include <cstring> #include <cstdlib> #include <vector> #include <cstdio> #include <queue> #include <cmath> #include <map> #include <set> using namespace std; typedef long long ll; int main(){ ll n,k; scanf("%lld%lld",&n,&k); if(n==0){ printf("Austin\n"); }else if(k==1){ if(n%2==0){ printf("Austin\n"); }else{ printf("Adrien\n"); } }else { printf("Adrien\n"); } return 0; }