#CF4114. 金块游戏
金块游戏
题目描述
最初,你有一个含有 块金块的单一堆。在一次操作中,你可以执行以下操作之一:
- 取出任何一堆,并将其分成两堆,使得其中一堆的金块数量正好是另一堆的两倍。(所有的堆都应该有整数数量的金块。)
一个可能的移动是取一个大小为 6
的堆,将其分成大小为 2
和 4
的两堆,这是有效的,因为 4
正好是 2
的两倍。
你能通过零次或多次操作制作一个包含 块金块的堆吗?
输入格式
第一行包含一个整数 ——测试用例的数量。
每个测试用例的唯一一行包含两个整数 和 ——起始和目标堆大小。
输出格式
对于每个测试用例,如果你能制作一个大小为 的堆,则输出 YES
,否则输出 NO
。
你可以以任何大小写形式输出答案(例如,字符串 yEs
、yes
、Yes
和 YES
都会被视为肯定的答案)。
测试样例
11
6 4
9 4
4 2
18 27
27 4
27 2
27 10
1 1
3 1
5 1
746001 2984004
YES
YES
NO
NO
YES
YES
NO
YES
YES
NO
NO
样例说明
在第一个测试用例中,可以制作一个大小为 4
的堆。
在第二个测试用例中,我们可以执行以下操作:。
在第三个测试用例中,我们无法执行任何操作。
在第四个测试用例中,我们不能得到比开始时更大的堆。