AT_future_contest_2021_qual_a カードの回収

题目描述

在一个 $20 \times 20$ 的棋盘上,有100张卡片被随机放置。每个格子最多只能放一张卡片。卡片上分别写着数字 $0, 1, \ldots, 99$,并且每个数字的卡片只会出现一次。 你的目标是通过控制高桥君机器人来收集所有卡片,最终让收集到的卡片在堆叠时从下到上的顺序是 $0, 1, \ldots, 99$。你可以通过一系列指令来操作机器人: - `U`:向上移动一格。如果已经在最上面一行,这个操作无效。 - `D`:向下移动一格。如果已经在最下面一行,这个操作无效。 - `L`:向左移动一格。如果已经在最左边一列,这个操作无效。 - `R`:向右移动一格。如果已经在最右边一列,这个操作无效。 - `I`:收集当前位置上的卡片,并将其放到牌堆顶端。如果当前位置没有卡片,这个操作无效。 - `O`:将牌堆顶端的卡片放在当前位置。如果牌堆为空或者当前位置已有卡片,这个操作无效。 高桥君机器人开始时位于棋盘左上角,并且牌堆为空。在执行完所有指令后,如果牌堆中的卡片按从下到上的顺序排列为 $0, 1, \ldots, 99$,则任务成功。请尽量减少移动指令的次数。 设移动指令执行的次数为 $k$,得分为 $4000 - k$。注意,收集和放置卡片的指令不影响得分。如果 $k$ 超过4000,或者指令序列超过10000,或者存在无效操作,或者未成功完成任务,则得分为0。

输入格式

输入以以下形式给出: > $ x_0 $ $ y_0 $ $ x_1 $ $ y_1 $ $ \ldots $ $ x_{99} $ $ y_{99} $ 表示编号 $i$ 的卡片位于棋盘上,从左上角起向下 $x_i$ 格,向右 $y_i$ 格的位置,且 $0 \leq x_i, y_i \leq 19$。

输出格式

输出一个字符串,不包含空格和换行符,表示高桥君机器人需要执行的指令序列。

说明/提示

### 操作示例 当高桥君机器人位于左上角时,执行指令 `RRDDIUULLIRI` 可以按顺序收集卡片0、1、2,移动指令一共9次。 另一种方法可以是执行 `IRIRODO` 指令,初步收集1、2号卡片后倒置放回,状态如下所示: 接下来只需执行 `DIUIUI` 指令即可按顺序收集0、1、2号卡片,移动指令总次数为6,比上一种方法更少。 ### 输入生成说明 卡片的初始布局是随机生成的。具体来说,将 $ (0,0), (0,1), \ldots, (19,19) $ 这400个坐标随机打乱,对于每个 $i = 0, 1, \ldots, 99$,数字为 $i$ 的卡片放置在第 $i$ 个坐标。 **本翻译由 AI 自动生成**