AtCoder Beginner Contest 059 D
AtCoder题目搬运工~
题目描述:
有X块石头和Y块石头组成的两堆,Alice和Brown可以按照以下规则从两队里面随机拿取石头,从Alice开始拿:
- 从一堆里拿取2i块石头。然后,扔掉 i块,把剩下的 i块放到另一堆。其中只要这一堆有足够数量的石块,就可以自由选择整数i(1≤i)。
最后一个可以拿取石头的人就是赢家,请输出赢家的名字。
约束条件
0≤X,Y≤10^18
题解:
只要|x-y|<=1就是Brown赢,为什么呢?我也不知道为什么~
#include<cstdio>
#include<cmath>
#include<algorithm>
#define ll long long
using namespace std;
int main(){
ll x,y;
scanf("%lld %lld",&x,&y);
if(abs(x-y)<=1){
printf("Brown");
}
else printf("Alice");
return 0 ;
}