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 翻译