#P14216. [COI 2010] 机器人 / ROBOTI

    ID: 14089 Type: RemoteJudge 4800ms 32MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>2010交互题Special JudgeCOI(克罗地亚)

[COI 2010] 机器人 / ROBOTI

题目背景

译自 COI 2010 T4

题目描述

本题为交互题。

两个机器人在仓库中迷路了。他们的编号为 1122。仓库是一个拥有 RRCC 列的网格,每个格子可能是障碍或者空地。机器人用广播来遥控,每条广播包含两部分信息:

  • robot:一个整数 11 或者 22,表示我们操纵的机器人。
  • direction:一个字符 UDL 或者 R,代表我们要机器人移动的方向(上、下、左、右)。

如果目的地是一个障碍、另一个机器人、或者在仓库的外面,机器人留在原地什么都不会发生。否则机器人会移动到目的地内。

两个机器人都配备了 GPS 设备,但是由于故障我们只能得知两个机器人之间的曼哈顿距离。如果机器人的位置分别是 (r1,c1)(r_1, c_1)(r2,c2)(r_2, c_2),他们的曼哈顿距离即为 r1r2+c1c2\lvert r_1 - r_2 \rvert + \lvert c_1 - c_2 \rvert

每一个指令不管结果如何,我们唯一能知道的就是两个机器人的曼哈顿距离。

机器人处于仓库中两个不同的空地上。写一个程序,可以输出一段指令让两个机器人能够分别到达两个特别的出口。

保证仓库内所有的空地是联通的。

输入格式

在与机器人交互前,先有一些输入内容。

第一行两个整数 R,CR, C (2R,C200)(2 \le R, C \le 200),表示仓库的行数和列数。

接下来 RR 行,每行 CC 个字符,每一个都是 .#x 中的一种。. 表示空地,# 表示障碍,x 表示两个出口中的一个。保证一定恰好有两个 x 字符。

接下来的一行表示起始的曼哈顿距离。

每当你输出一行指令之后,会有新的一行输入,表示新的曼哈顿距离。

输出格式

当开始交互的时候,每一次你可以向标准输出输出一行指令,形如 robot direction。行末需要有一个换行符。每一次输出完之后,你需要刷新缓冲区。而后你将从标准输入得到新的曼哈顿距离。

当你进行完所有的操作之后,输出一行一个字符 0,然后退出你的程序并返回 00

3 3
###
x.x
#.#
1

2

1

2






1 R

2 U

2 L

0

提示

对于 40%40\% 的数据,网格中没有障碍。

对于 80%80\% 的数据,R,C50R, C \le 50