NC214842. A|B
描述
给定两个正整数a,x,统计满足以下条件的的个数:
输入描述
第一行给出一个
接下来 t 行每行一对正整数
输出描述
输出 t 行,每行一个正整数
示例1
输入:
2 1 2 2 3
输出:
1 1
C++ 解法, 执行用时: 339ms, 内存消耗: 948K, 提交时间: 2021-08-13 17:31:17
#include<bits/stdc++.h> using namespace std; int main(){ int t,cnt; cin>>t; while(t--){ int a,x,sum; sum=0; cin>>a>>x; for(int i=(1<<30);i;i>>=1){ if(i&x){ cnt=0; for(int j=(i>>1);j;j>>=1){ if((j&a)==0)cnt++; } sum+=pow(2,cnt); if(i&a)break; } } if((a|x)==a+x)sum++; sum=sum-1; printf("%d\n",sum); } return 0; }