#futurecontest2021quala. [future_contest_2021_qual_a]カードの回収
[future_contest_2021_qual_a]カードの回収
问题文本
问题描述
在一个的棋盘上,放置了100张卡片。每个格子最多只能放置一张卡片。每张卡片上写有数字,相同数字的卡片只有一张。
你的目标是使用高桥君机器人来收集所有的卡片,并且最终收集到的卡片堆(称为牌组)从下往上依次是。你可以通过给高桥君机器人以下命令序列来操作它:
U
: 向上移动一格。如果当前位置已经是棋盘的最上方,则此操作无效。D
: 向下移动一格。如果当前位置已经是棋盘的最下方,则此操作无效。L
: 向左移动一格。如果当前位置已经是棋盘的最左边,则此操作无效。R
: 向右移动一格。如果当前位置已经是棋盘的最右边,则此操作无效。I
: 收集当前位置的卡片,并将其放置在牌组顶部。如果当前位置没有卡片,则此操作无效。O
: 将牌组顶部的卡片放置在当前位置。如果牌组中没有卡片或者当前位置已经有卡片存在,则此操作无效。
高桥君机器人初始状态下位于左上角的格子上,并且牌组中没有任何卡片。完成所有命令序列后,如果牌组中的卡片从下往上依次是,则任务成功。请使用尽量少的移动命令(U
,D
,L
,R
)来成功完成任务。
假设移动命令的次数为,得分为。请注意,收集和放置卡片(I
,O
)的次数不影响得分。当超过4000、命令序列长度超过10000、执行了无效操作或任务失败时,得分为0。
操作示例
高桥君机器人位于左上角的格子上,执行操作序列RRDDIUULLIRI
后,按顺序收集了卡片0、1、2,移动命令的总数为9。
另一种方法是执行操作序列IRIRODO
,首先按顺序收集卡片1、2,然后通过重新放置卡片的方式使其变为卡片2、1,如下图所示:
接下来,执行操作序列DIUIUI
,按顺序收集了卡片0、1、2,移动命令的总数比之前少,只有6。
输入
输入以以下格式从标准输入中给出。
其中,数字表示的卡片被放置在左上角的格子向下移动格,向右移动格的位置上,。
输出
输出操作高桥君机器人的命令序列,不包含空格和换行符,直接输出在一行中。
输入生成方法
卡片的放置位置是随机生成的。具体而言,将长度为400的坐标序列进行随机洗牌,然后将第个坐标位置放置数字的卡片。
输入示例 1
15 19
8 1
3 13
2 19
17 10
14 3
3 2
19 4
6 2
18 1
4 4
3 10
0 15
2 5
10 7
6 3
19 12
1 0
19 3
4 1
0 6
10 18
12 12
8 13
6 4
10 2
6 12
2 0
0 11
6 9
8 3
13 9
9 0
11 17
9 4
12 1
1 18
19 19
9 9
2 11
8 19
18 3
2 15
8 16
16 2
4 5
14 4
9 3
15 13
3 0
8 11
15 4
0 7
12 19
18 7
12 17
8 2
6 0
1 7
17 0
16 10
1 6
10 5
4 14
12 7
6 11
6 6
14 19
15 15
17 16
1 12
7 9
2 7
4 7
1 4
5 3
0 17
17 3
5 13
9 16
12 13
11 12
15 18
0 10
19 6
12 4
10 8