标签:stream 不为 else main ... space typedef include 偶数
{a1,a2,a3,a4.......an}n推石头,A先拿,若a1^a2^a3^a4^.....^an==0,B胜
证明:因为异或后的数代表所有石头数在二进制表示后,对应位上有偶数个还是奇数个1;
比如5(d)=101(b) ,7(d)=111(b), 7^5=010(b) ,第一个0代表7和5在这位上有偶数个0;
所以如果异或后为0,则A进行操作后,异或不为0,B必能使异或重新变为0;最后只能B取到0(也就是拿光);
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
#define eps 1e-8
int main()
{
int n,k;
cin>>n;
int j=0;
for(int i=0;i<n;i++){
cin>>k;
j^=k;
}
if(!j)cout<<"B";
else cout<<"A";
return 0;
}
标签:stream 不为 else main ... space typedef include 偶数
原文地址:http://www.cnblogs.com/Gsimt/p/7911443.html