AtCoder_ABC_059D

AtCoder Beginner Contest 059 D
AtCoder题目搬运工~
题目描述:
有X块石头和Y块石头组成的两堆,Alice和Brown可以按照以下规则从两队里面随机拿取石头,从Alice开始拿:

  • 从一堆里拿取2i块石头。然后,扔掉 i块,把剩下的 i块放到另一堆。其中只要这一堆有足够数量的石块,就可以自由选择整数i(1≤i)。
    最后一个可以拿取石头的人就是赢家,请输出赢家的名字。
    约束条件
    0≤X,Y≤10^18
    AtCoder_ABC_059D_第1张图片
    AtCoder_ABC_059D_第2张图片
    题解:
    只要|x-y|<=1就是Brown赢,为什么呢?我也不知道为什么~
#include
#include
#include
#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 ;
}

你可能感兴趣的:(ABC,AtCoder)