AT_arc195_c [ARC195C] Hamiltonian Pieces

题目描述

存在一个纵向有 $10^9$ 格、横向有 $10^9$ 格的棋盘,以及 $R$ 个红色棋子和 $B$ 个蓝色棋子。其中满足 $2 \leq R + B$。棋盘从上往下第 $r$ 行、从左往右第 $c$ 列的格子称为格子 $(r, c)$。红色棋子每步可纵向或横向移动 1 格,蓝色棋子每步可斜向移动 1 格。更准确地说: - 位于格子 $(r, c)$ 的红色棋子可一步移动到 $(r+1, c)$、$(r, c+1)$、$(r-1, c)$、$(r, c-1)$(若目标格子存在)。 - 位于格子 $(r, c)$ 的蓝色棋子可一步移动到 $(r+1, c+1)$、$(r+1, c-1)$、$(r-1, c+1)$、$(r-1, c-1)$(若目标格子存在)。 现在需要将所有 $(R+B)$ 个棋子以任意顺序放置在棋盘上,且必须满足以下条件: 1. 每个格子最多放置 1 个棋子。 2. 对于每个 $i$($1 \leq i \leq R+B-1$),第 $i$ 个放置的棋子必须能够一步移动到第 $(i+1)$ 个放置的棋子所在的格子。 3. 第 $(R+B)$ 个放置的棋子必须能够一步移动到第 1 个放置的棋子所在的格子。 请判断是否存在满足条件的放置方式。若存在,请给出一种具体方案。 给定 $T$ 个测试用例,请分别解答。

输入格式

输入通过标准输入给出,格式如下: > $ T $ > $\mathrm{case}_1$ > $\mathrm{case}_2$ > $\vdots$ > $\mathrm{case}_T$ 每个测试用例的格式为: > $ R $ $ B $

输出格式

对每个测试用例按顺序输出答案,用换行分隔。 若不存在满足条件的放置方式,输出 `No`。 若存在,按以下格式输出: > Yes > $ p_1 $ $ r_1 $ $ c_1 $ > $\vdots$ > $ p_{R+B} $ $ r_{R+B} $ $ c_{R+B} $ 其中: - $ p_i $ 表示第 $i$ 个放置的棋子类型(红棋为 `R`,蓝棋为 `B`) - $ r_i, c_i $ 是 $1 \leq r_i, c_i \leq 10^9$ 的整数,表示第 $i$ 个棋子放置在格子 $(r_i, c_i)$

说明/提示

### 约束条件 - $ 1 \leq T \leq 10^5 $ - $ 0 \leq R, B $ - $ 2 \leq R + B \leq 2 \times 10^5 $ - 所有测试用例的 $ R + B $ 总和不超过 $ 2 \times 10^5 $ - 输入值均为整数 ### 样例解释 1 第一个测试用例中,棋盘左上角 $4 \times 5$ 区域的布局如下: ``` ..... .BBR. .RB.. ..... ``` 其中: - `R` 表示红棋 - `B` 表示蓝棋 - `.` 表示空位 第二个测试用例不存在满足条件的放置方式。 翻译由 DeepSeek R1 完成