AT_abc221_g.[ABC221G] Jumping sequence

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

考虑一个无限扩展的二维坐标平面。高桥君最初站在 (0,0)(0,0),接下来他将进行 NN 次跳跃,每次可以选择向上、下、左、右中的任意一个方向跳跃。每次跳跃的距离是确定的,具体来说,第 ii 次跳跃的距离为 DiD_i。请判断在 NN 次跳跃后,是否有可能恰好到达位置 (A,B)(A,B),如果可能,请给出一种满足条件的移动方案。

具体地,当当前位置为 (X,Y)(X,Y) 时,选择某个方向并以距离 DD 跳跃后,落点如下:

  • 向上:(X,Y)→(X,Y+D)(X,Y)\to(X,Y+D)
  • 向下:(X,Y)→(X,Y−D)(X,Y)\to(X,Y-D)
  • 向左:(X,Y)→(X−D,Y)(X,Y)\to(X-D,Y)
  • 向右:(X,Y)→(X+D,Y)(X,Y)\to(X+D,Y)

输入格式

输入从标准输入读入,格式如下:

NN AA BB D1D_1 D2D_2 …\ldots DND_N

输出格式

如果存在满足条件的移动方案,则在第 11 行输出 Yes,否则输出 No。
如果输出 Yes,则在第 22 行输出一个由 U、D、L、R 组成的长度为 NN 的字符串 SS,表示一种满足条件的移动方案。
其中,SS 的第 ii 个字符含义如下:

  • U:第 ii 次跳跃向上
  • D:第 ii 次跳跃向下
  • L:第 ii 次跳跃向左
  • R:第 ii 次跳跃向右

输入输出样例

  • 输入#1

    3 2 -2
    1 2 3

    输出#1

    Yes
    LDR
  • 输入#2

    2 1 0
    1 6

    输出#2

    No
  • 输入#3

    5 6 7
    1 3 5 7 9

    输出#3

    Yes
    LRLUR

说明/提示

数据范围

  • 1≤N≤20001\leq N\leq 2000
  • ∣A∣,∣B∣≤3.6×106|A|, |B| \leq 3.6\times 10^6
  • 1≤Di≤18001\leq D_i\leq 1800
  • 输入均为整数。

样例解释 1

第 11 次跳跃向左,第 22 次跳跃向下,第 33 次跳跃向右,则高桥君的移动为 (0,0)→(−1,0)→(−1,−2)→(2,−2)(0,0)\to(-1,0)\to(-1,-2)\to(2,-2),最终到达 (2,−2)(2,-2),满足条件。

样例解释 2

经过 22 次跳跃后,无法恰好到达 (1,0)(1,0)。

由 ChatGPT 4.1 翻译

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

首页