A题题意:有一长度为N的连续序列,A与B交替从序列中取一段连续序列,每次取的序列长度为1-K,当某个人进行选择时,序列为空,则另一人获得胜利,A先进行选择,输入获胜者。 样例:

InputOutput
1 1A
9 3A

第一遍读题出现了错误,理解为序列会进行合并,采取了不理智的做法,直接吃了一发WA 第二遍读懂题目,发现是个基础的博弈,因为是A先选取,所以只要A在选取的时候,使得剩下的段为对称的,那每次B选取一段,A便选取相之对称的段,则A必获得胜利。所以我们考虑,当K>=2时,我们不管N为多大,我们都可使得A获得胜利(当N<=2,A直接取完,当N>2时,若N为奇数,我们在序列中间取1,使得剩下的段为对称的,若N为偶数,在中间取2使得段落变为对称),当k为1时,我们只需判断N的奇偶性便可确定谁最终胜利。 代码如下:

using namespace std;
int main() {
	int n,k;
	while(~scanf("%d%d",&n,&k))
	{
		if(k>=2)
				printf("Adrien\n");
		else 
				if(n&1)
					printf("Adrien\n");
				else
					printf("Austin\n");

	}
	return 0;
}