AT_abc326_f [ABC326F] Robot Rotation

题目描述

在以右为 $x$ 轴正方向、上为 $y$ 轴正方向的坐标平面上,有一个机器人位于原点。机器人最初面向 $x$ 轴正方向。 对于 $i=1,\ldots,N$,依次进行以下操作: - 将机器人顺时针或逆时针旋转 $90$ 度。之后,机器人沿当前朝向前进 $A_i$ 的距离。 请判断,是否可以通过合理选择每次的旋转方向,使得 $N$ 次操作后机器人正好到达坐标 $(X,Y)$? 如果可以,请给出每次操作选择顺时针还是逆时针的方法。

输入格式

输入通过标准输入给出,格式如下: > $N$ $X$ $Y$ $A_1$ $\ldots$ $A_N$

输出格式

如果无法使机器人在 $N$ 次操作后到达 $(X,Y)$,输出 `No`。 如果可以,请输出 `Yes`,并在第二行输出一个长度为 $N$ 的字符串 $S$。 $S$ 仅由 `L` 或 `R` 组成,第 $i$ 个字符为 `L` 表示第 $i$ 次操作选择逆时针旋转,`R` 表示顺时针旋转。 通过这样的选择,机器人在 $N$ 次操作后能够到达 $(X,Y)$。 若有多种方案,输出任意一种均可。

说明/提示

## 限制条件 - $1 \leq N \leq 80$ - $1 \leq A_i \leq 10^7$ - $-10^9 \leq X,Y \leq 10^9$ - 所有输入均为整数 ## 样例解释 1 最初机器人位于 $(0,0)$,面向 $x$ 轴正方向。按照如下步骤,可以使机器人在 $N$ 次操作后到达 $(X,Y)$。 - 第 $1$ 次操作:机器人逆时针旋转 $90$ 度,面向 $y$ 轴正方向。前进 $A_1=3$,到达 $(0,3)$。 - 第 $2$ 次操作:机器人逆时针旋转 $90$ 度,面向 $x$ 轴负方向。前进 $A_2=2$,到达 $(-2,3)$。 - 第 $3$ 次操作:机器人顺时针旋转 $90$ 度,面向 $y$ 轴正方向。前进 $A_3=1$,到达 $(-2,4)$。 ![](https://img.atcoder.jp/abc326/79baf4537d56c0df5c5d254e6e7f9616.png) ## 样例解释 3 `LLLL` 或 `RRRR` 等方案也都是正确答案。 由 ChatGPT 4.1 翻译