#aBC326F. [ABC326F] Robot Rotation

[ABC326F] Robot Rotation

AT_abc326_f [ABC326F] Robot Rotation

题目描述

在以右为 xx 轴正方向、上为 yy 轴正方向的坐标平面上,有一个机器人位于原点。机器人最初面向 xx 轴正方向。

对于 i=1,,Ni=1,\ldots,N,依次进行以下操作:

  • 将机器人顺时针或逆时针旋转 9090 度。之后,机器人沿当前朝向前进 AiA_i 的距离。

请判断,是否可以通过合理选择每次的旋转方向,使得 NN 次操作后机器人正好到达坐标 (X,Y)(X,Y)

如果可以,请给出每次操作选择顺时针还是逆时针的方法。

输入格式

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

NN XX YY A1A_1 \ldots ANA_N

输出格式

如果无法使机器人在 NN 次操作后到达 (X,Y)(X,Y),输出 No

如果可以,请输出 Yes,并在第二行输出一个长度为 NN 的字符串 SS
SS 仅由 LR 组成,第 ii 个字符为 L 表示第 ii 次操作选择逆时针旋转,R 表示顺时针旋转。
通过这样的选择,机器人在 NN 次操作后能够到达 (X,Y)(X,Y)

若有多种方案,输出任意一种均可。

输入输出样例 #1

输入 #1

3 -2 4
3 2 1

输出 #1

Yes
LLR

输入输出样例 #2

输入 #2

1 0 0
1

输出 #2

No

输入输出样例 #3

输入 #3

4 0 0
1 1 1 1

输出 #3

Yes
LRRR

输入输出样例 #4

输入 #4

14 2543269 -1705099
3 14 159 2653 58979 323846 2643383 2795028 841971 69399 37510 58 20 9

输出 #4

Yes
LLLLLLLLLRLRRR

说明/提示

限制条件

  • 1N801 \leq N \leq 80
  • 1Ai1071 \leq A_i \leq 10^7
  • 109X,Y109-10^9 \leq X,Y \leq 10^9
  • 所有输入均为整数

样例解释 1

最初机器人位于 (0,0)(0,0),面向 xx 轴正方向。按照如下步骤,可以使机器人在 NN 次操作后到达 (X,Y)(X,Y)

  • 11 次操作:机器人逆时针旋转 9090 度,面向 yy 轴正方向。前进 A1=3A_1=3,到达 (0,3)(0,3)
  • 22 次操作:机器人逆时针旋转 9090 度,面向 xx 轴负方向。前进 A2=2A_2=2,到达 (2,3)(-2,3)
  • 33 次操作:机器人顺时针旋转 9090 度,面向 yy 轴正方向。前进 A3=1A_3=1,到达 (2,4)(-2,4)

样例解释 3

LLLLRRRR 等方案也都是正确答案。

由 ChatGPT 4.1 翻译