译自 COI 2010 T4. ROBOTI
这是一道交互题。
两个机器人被困在一个仓库中,两个机器人被编号为 $1$ 和 $2$。这个仓库是一个 $R$ 行 $C$ 列的网格,每个单元格要么是空的,要么是被占用的。机器人用无线电命令控制。每个命令包含两部分数据:
- robot:值为 $1$ 或 $2$,表示我们要移动的机器人编号;
- direction:值为字母 U,D,L 或 R,表示我们希望机器人向哪个方向移动(上下左右,每次移动一格)。
如果目的单元格被占用,被另一个机器人占用或者在仓库外面,机器人会停留在原地,什么事都不会发生,否则机器人就会移向目的单元格。
机器人装配有 GPS 系统,然而由于部署时出现了故障,我们不能知道机器人的确切位置,只能知道两个机器人之间的曼哈顿距离。如果两个机器人分别位于 $(r_1,c_1)$ 和 $(r_2,c_2)$,那么它们之间的曼哈顿距离为 $|r_1-r_2|+|c_1-c_2|$。
在每次操作后,无论成功与否,我们唯一能知道的信息只是两个机器人之间的曼哈顿距离。
机器人目前位于两个不同且没有被占用的单元格中。写一个程序将两个机器人分别移动到给定点处。保证仓库中所有未被占用的单元格都是连通的。