#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <stack>
#include <string>
#include <string.h>
#include <stdio.h>
#include <cmath>
#include <map>
#include <functional>
#include <set>
#include <limits.h>
#include <math.h>
#include <ctype.h>
using namespace std;
//1151
char a[17],b[17];
int n,c,d;
void change(char a[])
{
char tmp=a[0];
for(int i=0;i<15;i++)
a[i]=a[i+1];
a[15]=tmp;
}
int main(){
//freopen("input.txt","r",stdin);
while(scanf("%d",&n)!=EOF)
{
while(n--)
{
scanf("%d %d",&c,&d);
memset(a,'0',sizeof(a));
memset(b,'0',sizeof(b));
int size=0;
while(c)
{
a[size++]=c%2+'0';
c/=2;
}
size=0;
while(d)
{
b[size++]=d%2+'0';
d/=2;
}
int i;
for(i=0;i<16;i++)
{
if(strcmp(a,b)==0)
break;
else
change(a);
}
if(i==16) puts("NO");
else puts("YES");
}
}
return 0;
}
/**************************************************************
Problem: 1151
User: cust123
Language: C++
Result: Accepted
Time:0 ms
Memory:1520 kb
****************************************************************/
题目1151:位操作练习
最新推荐文章于 2019-12-24 12:39:34 发布