#P12682. 【MX-J15-T2】叉叉学习位运算

【MX-J15-T2】叉叉学习位运算

题目背景

原题链接:https://oier.team/problems/J15B

题目描述

叉叉学习了两种位运算:<<>>。为了避免 undefined behavior(未定义行为),叉叉只讨论非负整数下的情况。当 << 时,最高位会溢出,最低位会补 0;当 >> 时,最低位会溢出,最高位会补 0

小粉兔决定考考叉叉,于是想了两个非负整数 a,ba,b。小粉兔希望叉叉判断,aa 能否利用若干次 << 1>> 1 运算变成 bb

叉叉出色地完成了这项任务,你可以完成吗?

输入格式

本题有多组数据。

第一行一个正整数 TT,表示数据组数。

对于每组数据:

一行两个非负整数 a,ba,b

输出格式

对于每组数据:

aa 能利用若干次 << 1>> 1 运算变成 bb,则一行一个字符串 Yes,否则一行一个字符串 No

6
1 0
0 1
3 7
7 3
4 6
153 6
Yes
No
No
Yes
No
Yes

提示

【样例解释】

对于第一组数据,将 11 进行一次 >> 1 运算可变成 00

【数据范围】

对于 100%100\% 的数据,1T2201 \le T \le 2^{20}0a,b<2640 \le a,b < 2^{64}

测试点编号 a,b<a,b < 特殊性质
11 22
22 44
33 88
44 2102^{10}
55 2202^{20}
66 2302^{30} a,ba,b22 的非负整数次幂
77
88 2642^{64} a,ba,b22 的非负整数次幂
9109 \sim 10