AT_agc051_f [AGC051F] rng_58's Last Problem
题目描述
有两个沙漏,一只计时 $1$ 秒,另一只计时 $\sqrt{2}$ 秒。你能否用它们测量 $x + y\sqrt{2}$ 秒的时间?
下面是严格的描述。有两个沙漏 $A$ 和 $B$,每个沙漏都有两个装沙子的“球”。每个沙漏可以竖直或水平放置。竖直放置时,只要上面的球中还有沙子,沙子就会以每秒 $1$ 克的速度流向下面的球。水平放置时,沙子不会流动。由于竖直放置时可以选择哪一个球在上方,因此每个沙漏共有 $3$ 种状态。
沙漏 $A$ 内有 $1$ 克沙子,沙漏 $B$ 内有 $\sqrt{2}$ 克沙子。因此,当沙漏 $A$ 竖直放置且所有沙子都在上球时,沙子全部流完需要 $1$ 秒。同理,沙漏 $B$ 需要 $\sqrt{2}$ 秒。
开始时,沙漏 $A$ 和 $B$ 都竖直放置,所有沙子都在下球。在“すぬけ君”喊叫之前,不能对沙漏做任何操作。当“すぬけ君”喊叫后恰好 $t$ 秒时发生*事件*(定义见下),则称测量出了 $t$ 秒。
*事件* 指以下任一情况:
- “すぬけ君”喊叫。
- 竖直放置的沙漏中沙子恰好流完。
每当发生*事件*时,可以在忽略所需时间的情况下,进行以下操作任意多次:
- 选择一个沙漏,将其切换到另一种状态。
例如,可以如下测量 $-1 + 2\sqrt{2}$ 秒:
- 时刻 $0$,“すぬけ君”喊叫。将 $A$ 和 $B$ 都翻转。
- 时刻 $1$,$A$ 的沙子流完,发生事件。再次翻转 $A$($B$ 保持不变)。
- 时刻 $\sqrt{2}$,$B$ 的沙子流完,发生事件。再次翻转 $A$,并将 $B$ 横放。
- 时刻 $-1 + 2\sqrt{2}$,$A$ 的沙子流完,发生事件。
给定 $Q$ 个形如 $x_i + y_i\sqrt{2}$ 的数,请判断每个数能否用上述方法测量出来。
输入格式
输入从标准输入读入,格式如下:
$Q$
$x_1$ $y_1$
$\vdots$
$x_Q$ $y_Q$
输出格式
输出 $Q$ 行。第 $i$ 行若能测量出 $x_i + y_i\sqrt{2}$ 秒,则输出 `Yes`,否则输出 `No`。
说明/提示
### 数据范围
- $1 \leq Q \leq 10^5$
- $-10^9 \leq x_i, y_i \leq 10^9$
- $x_i + y_i\sqrt{2} > 0$
- 输入中的所有值均为整数。
由 ChatGPT 4.1 翻译