位移运算
解题思路
奇怪的判定。
把
b
b
b 的后置
0
0
0 清空,若
b
b
b 是
a
a
a 的子串,那么就可以通过位移达到。
code
#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
cin>>n;
while(n--)
{
int a,b,flg=0;
scanf("%d%d",&a,&b);
if(!b)
{
printf("Yes\n");
continue;
}
while(!(b&1)&&b) b>>=1;
while(a>=b)
{
int t=a^b;
if(((a&b)==b)&&((t&-t)>b||!t))
{
flg=1;
break;
}
a>>=1;
}
printf("%s\n",(flg?"Yes":"No"));
}
}