https://vj.ti12z.cn/b02428b1bbcf4609f7b121c06ef01b09?v=1564291265
A.
思路
当K为1时显然的和N的奇偶性有关,那么我们考虑一下K>1 K>1K>1的情况
对于先手的Adrien来说,他对任意的N颗石子,他都可以将这N颗石子分成两段相当数量的石子(从中间开始拿对于奇数拿一颗,对于偶数拿两颗),那么剩下的两段相当于是独立的两个相同的游戏了,如果后手拿其中一段,那么我先手就对另一段进行这样相同的拆分,那么能保证我先手总是有石子能拿,所以我先手必胜,也就是说当K>1 K>1K>1的时候先手必胜,K==1 K==1K==1的时候判断奇偶,N==0 N==0N==0的时候特判即可
#include <bits/stdc++.h>
using namespace std;
int n,k;
int main() {
while (~scanf("%d%d", &n, &k)) {
if (n == 0) {
printf("Austin\n");
return 0;
}
if (k == 1) {
if (n % 2 == 0) {
printf("Austin\n");
} else {
printf("Adrien\n");
}
} else {
printf("Adrien\n");
}
}
}
G.
题解:

The 43 rd ACM Asia Nanjing Regional Contest
原文:https://www.cnblogs.com/Accpted/p/11279856.html