AT_arc103_b.[ABC111D] Robot Arms
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在すぬけ君的工厂里,计划引进一种具有以下特性的机器人手臂:
- 机器人手臂由 m 个手臂和 m+1 个关节组成。手臂编号为 1,2,...,m,关节编号为 0,1,...,m。手臂 i 连接关节 i−1 和关节 i。手臂 i 的长度为 di。
- 每个手臂都可以独立指定模式。模式可以是
L、R、D、U中的任意一个,手臂的模式决定了该手臂的方向。将工厂视为坐标平面时,关节 i 的坐标 (xi,yi) 按如下方式确定:- $ (x_0, y_0) = (0, 0) $。
- 当手臂 i 的模式为
L时,$ (x_i, y_i) = (x_{i-1} - d_i, y_{i-1}) $。 - 当手臂 i 的模式为
R时,$ (x_i, y_i) = (x_{i-1} + d_i, y_{i-1}) $。 - 当手臂 i 的模式为
D时,$ (x_i, y_i) = (x_{i-1}, y_{i-1} - d_i) $。 - 当手臂 i 的模式为
U时,$ (x_i, y_i) = (x_{i-1}, y_{i-1} + d_i) $。
すぬけ君希望通过巧妙地指定手臂的模式,使得机器人手臂的关节 m 能恰好到达 N 个点 (X1,Y1),(X2,Y2),...,(XN,YN) 中的任意一个。请判断是否存在这样的机器人手臂。如果存在,请给出满足条件的机器人手臂,以及对于每个点 (Xj,Yj),使机器人手臂的关节 m 到达该点的模式指定方法。
输入格式
输入按以下格式从标准输入读入。
N
X1 Y1
X2 Y2
⋮
XN YN
输出格式
如果存在满足条件的方案,请按以下格式输出。如果不存在,输出 -1。
m
d1 d2 … dm
w1
w2
⋮
wN
其中,m 和 di 表示机器人手臂的信息,具体含义见题目描述。要求 1≤m≤40,1≤di≤1012,且 m,di 均为整数。
wj 是长度为 m 的字符串,表示使机器人手臂的关节 m 到达点 (Xj,Yj) 的模式指定方法。wj 的第 i 个字符为 L、R、D、U 中的一个,表示手臂 i 的模式。
输入输出样例
输入#1
3 -1 0 0 3 2 -1
输出#1
2 1 2 RL UU DR
输入#2
5 0 0 1 0 2 0 3 0 4 0
输出#2
-1
输入#3
2 1 1 1 1
输出#3
2 1 1 RU UR
输入#4
3 -7 -3 7 3 -3 -7
输出#4
5 3 1 4 1 5 LRDUL RDULR DULRD
说明/提示
限制条件
- 输入均为整数。
- 1≤N≤1000
- −109≤Xi≤109
- −109≤Yi≤109
部分得分
- 对于 300 分的测试点,有 −10≤Xi≤10 且 −10≤Yi≤10。
样例解释 1
对于每个 (Xj,Yj),使机器人手臂的关节 m 到达该点的方法如下:
- 对于 (X1,Y1)=(−1,0),首先关节 0 的位置为 (x0,y0)=(0,0)。手臂 1 的模式为
R,所以关节 1 的位置为 (x1,y1)=(1,0)。手臂 2 的模式为L,所以关节 m=2 的位置为 (x2,y2)=(−1,0)。 - 对于 (X2,Y2)=(0,3),(x0,y0)=(0,0),(x1,y1)=(0,1),(x2,y2)=(0,3)。
- 对于 (X3,Y3)=(2,−1),(x0,y0)=(0,0),(x1,y1)=(0,−1),(x2,y2)=(2,−1)。
样例解释 3
(Xj,Yj) 中可能包含相同的点。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?