http://codeforces.com/problemset/problem/627/A
题意:
求解满足条件 a+b == s,并且a和s按位异或是 x 的序偶<a,b>的个数。有 s = a+b = a^b + (a&b) *2 的等式。
AC CODE:
#include<stdio.h>
#include<cstring>
#include<algorithm>
#define AC main()
typedef __int64 ll;
using namespace std;
const int MYDD = 1103;
int AC {
ll a, b, c, Answer;
scanf("%I64d %I64d", &a, &b);
c = (a - b) / 2;
if(c < 0 || c * 2 + b != a || (c & b)) {
Answer = 0;
} else{
int v = 0;
while(b) {
v=v + (b & 1);
b>>=1;
}
Answer = 1ll<<v;/*把 2 的 t 次方赋值给答案*/
if(c == 0) Answer -= 2;
}
printf("%I64d\n", Answer);
return 0;
}