2-5 Gold Rush
暂无测试数据。
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
E. Gold Rush
时间限制:2 seconds
空间限制:256 megabytes
原题链接:https://codeforces.com/gym/451807/problem/E
题目描述
最初,你有一个单一的堆积物,里面有\(n\)个金块。在一次操作中,你可以做以下事情:
取任意一堆,将其分成两堆,使得分出的两堆中其中一堆的金块数量是另一堆的两倍。(数量应都为整数)
一个可能的举动是把大小为\(6\)的一堆,分成大小为\(2\)和\(4\)的一堆,这是有效的,因为\(4\)是\(2\)的两倍大。
你能用零次或多次操作使得出现一堆金块使得它的数量 恰好 为 \(m\) 吗?
输入
第一行包含一个整数\(t\)(\(1 \leq t \leq 1000\))--测试案例的数量。
每个测试案例的唯一一行包含两个整数\(n\)和\(m\)(\(1 \leq n, m \leq 10^7\))--分别是起始桩和目标桩的尺寸。
输出
对于每个测试案例,如果你能做一个大小正好为\(m\)的堆,则输出 "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\)的堆。
在第二个测试案例中,我们可以进行以下操作:\(\{{\color{red}{9}}\} \to \{{\color{red}{6}},3\} \to \{4,2,3\}\).在每次操作之前,被拆开的那堆东西都被染成红色。
在第三个测试案例中,我们不能进行单一的操作,因为 \(4\) 不是 \(3\) 的倍数。
在第四个测试案例中,我们不能以比开始时更大的堆积物而告终。