Gym - 101981A The 2018 ICPC Asia Nanjing Regional Contest A.Adrien and Austin 简单博弈

题面

题意:一堆有n个石子,编号从1⋯N排成一列,两个人Adrien 和Austin玩游戏,每次可以取1⋯K个连续编号的石子,Adrien先手,谁不能取了则输

题解:k==1时,显然和n奇偶相关,当k>1,先手的人总是可以把这n个石头分成两组相等数量的石头(从中间拿,自己控制奇偶),后手的人无论怎么操作,你都可以再

另一段中copy他的操作,这样保证了先手的人一定能有石头拿,所有先手必胜.注意特判n==0的情况

 1 #include
 2 using namespace std;
 3 int main()
 4 {
 5     long long n,k;
 6     while(scanf("%lld%lld",&n,&k)!=EOF)
 7     {
 8         if(n==0)
 9             printf("Austin\n");
10         else if(k>=2)
11             printf("Adrien\n");
12         else if(n%2==1)
13             printf("Adrien\n");
14         else
15             printf("Austin\n");
16     }
17 }

 

 

 

 

 

 

转载于:https://www.cnblogs.com/qywhy/p/10102346.html

你可能感兴趣的:(Gym - 101981A The 2018 ICPC Asia Nanjing Regional Contest A.Adrien and Austin 简单博弈)