AT_arc195_c.[ARC195C] Hamiltonian Pieces

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

存在一个纵向有 10910^9 格、横向有 10910^9 格的棋盘,以及 RR 个红色棋子和 BB 个蓝色棋子。其中满足 2≤R+B2 \leq R + B。棋盘从上往下第 rr 行、从左往右第 cc 列的格子称为格子 (r,c)(r, c)。红色棋子每步可纵向或横向移动 1 格,蓝色棋子每步可斜向移动 1 格。更准确地说:

  • 位于格子 (r,c)(r, c) 的红色棋子可一步移动到 (r+1,c)(r+1, c)、(r,c+1)(r, c+1)、(r−1,c)(r-1, c)、(r,c−1)(r, c-1)(若目标格子存在)。
  • 位于格子 (r,c)(r, c) 的蓝色棋子可一步移动到 (r+1,c+1)(r+1, c+1)、(r+1,c−1)(r+1, c-1)、(r−1,c+1)(r-1, c+1)、(r−1,c−1)(r-1, c-1)(若目标格子存在)。

现在需要将所有 (R+B)(R+B) 个棋子以任意顺序放置在棋盘上,且必须满足以下条件:

  1. 每个格子最多放置 1 个棋子。
  2. 对于每个 ii(1≤i≤R+B−11 \leq i \leq R+B-1),第 ii 个放置的棋子必须能够一步移动到第 (i+1)(i+1) 个放置的棋子所在的格子。
  3. 第 (R+B)(R+B) 个放置的棋子必须能够一步移动到第 1 个放置的棋子所在的格子。

请判断是否存在满足条件的放置方式。若存在,请给出一种具体方案。

给定 TT 个测试用例,请分别解答。

输入格式

输入通过标准输入给出,格式如下:

$ T $
case1\mathrm{case}_1
case2\mathrm{case}_2
⋮\vdots
caseT\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 $ 表示第 ii 个放置的棋子类型(红棋为 R,蓝棋为 B)
  • $ r_i, c_i $ 是 1≤ri,ci≤1091 \leq r_i, c_i \leq 10^9 的整数,表示第 ii 个棋子放置在格子 (ri,ci)(r_i, c_i)

输入输出样例

  • 输入#1

    3
    2 3
    1 1
    4 0

    输出#1

    Yes
    B 2 3
    R 3 2 
    B 2 2
    B 3 3
    R 2 4
    No
    Yes
    R 1 1
    R 1 2
    R 2 2
    R 2 1

说明/提示

约束条件

  • $ 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×54 \times 5 区域的布局如下:

.....
.BBR.
.RB..
.....

其中:

  • R 表示红棋
  • B 表示蓝棋
  • . 表示空位

第二个测试用例不存在满足条件的放置方式。

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页