CF2202A Parkour Design
题目描述
今天,Alex 想为 Steve 搭建一条跑酷训练路线。跑酷路线是由一系列整数坐标组成的序列 $p_0 \to p_1 \to \ldots \to p_k$,其中,相邻两个坐标被称为一次移动,记为 $p_{i-1} \to p_i$。
Alex 知道 Steve 只能进行以下三种移动:
- $ (x_i, y_i) \to (x_i+2, y_i+1) $;
- $ (x_i, y_i) \to (x_i+3, y_i) $;
- $ (x_i, y_i) \to (x_i+4, y_i-1) $。
注意,Steve 不会进行除此之外的其他类型的移动。例如,Steve 可以执行 $(0,0) \to (2,1)$ 和 $(2,1) \to (5,1)$,但永远不会执行 $(2,1) \to (3,2)$、$(3,0) \to (5,-1)$ 或 $(4,-1) \to (6,-1)$ 这类移动(即使看起来它们很简单)。
给定一个平面上的整数坐标 $(x, y)$。
请你判断是否存在一条跑酷路线 $q_0, q_1, \ldots, q_k$,满足以下条件:
- $q_0 = (0, 0)$;
- $q_k = (x, y)$;
- 整条跑酷路线只包含 Steve 能够执行的三种移动。
输入格式
每组测试包含多组用例。第一行输入一个整数 $t$($1 \le t \le 10^3$),表示测试用例的数量。
接下来每组测试用例包含一行,包含两个整数 $x$ 和 $y$($1 \le x \le 10^9$,$-10^8 \le y \le 10^8$)。
输出格式
如果存在满足条件的跑酷路线,请在单独一行输出 "YES"。
如果不存在,请在单独一行输出 "NO"。
答案不区分大小写。例如,"yEs"、"yes"、"Yes" 都会被认为是正确的肯定回答。
说明/提示
对于第五个样例,跑酷路线必须从 $(0,0)$ 出发,最终到达 $(14,1)$。
这是一个可行的跑酷路线:
$$
(0,0) \to (4,-1) \to (7,-1) \to (9,0) \to (12,0) \to (14,1)
$$
注意,下面的这条路线由于包含不允许的移动(用红色标记)因此不合法:
$$
(0,0) \to \color{red}{(4,-1) \to (6,-1)} \to (8,0) \to \color{red}{(11,0) \to (14,1)}
$$
由 ChatGPT 5 翻译