#HK5428. 「OOI 2017 Day 2」机器人与田野
「OOI 2017 Day 2」机器人与田野
题目描述
题目译自 Open Olympiad in Informatics 2017 Day2 T2 「Робот в поле / Robot on the Field」。
安德鲁最喜欢的活动是玩电脑游戏。最近,他发现了一款非常有趣的新游戏。
游戏的世界是一个无限的田野,被划分为许多格子,每个格子都有其游戏内的坐标。玩家控制一个机器人,初始位置在坐标为 的格子。通过按下键盘上的相应按键,玩家可以将机器人向左、向上、向右和向下移动。具体来说,机器人控制方式如下:
- 按下按键 ,玩家将机器人的第一坐标减 。
- 按下按键 ,玩家将机器人的第二坐标加 。
- 按下按键 ,玩家将机器人的第一坐标加 。
- 按下按键 ,玩家将机器人的第二坐标减 。
玩家的任务是将机器人引导到指定的坐标 。对你们中的某些人来说,这款游戏可能看起来很简单,但安德鲁却始终无法通过。最后,他感到非常绝望,并向他的朋友热尼亚询问了通关所需的按键顺序。但事情并不简单!热尼亚的通关方法并不适合安德鲁,可能是因为热尼亚的目标是不同的格子,这让安德鲁非常生气!他用力按下了一些按键,结果这些按键坏掉了,不再响应按压。令他惊讶的是,安德鲁发现这些损坏的按键甚至可能对他有帮助!
安德鲁决定测试是否仍然可以利用热尼亚的通关方法,并在某些按键按下后损坏一些按键来完成游戏。如果某个按键损坏了,那么在后续按下该按键时,机器人将不会改变位置。安德鲁可以在某些按键按下后损坏任意按键,甚至可以在同一次按键后损坏多个按键。此外,如果这有助于到达目标格子,他还可以在游戏开始前损坏任意按键。即使目标达成,安德鲁也会损坏剩余的按键,以便不再回到这款游戏。
他请求你帮助他解决这个问题。
输入格式
输入数据的第一行包含一个整数 ,表示热尼亚通关游戏中的移动次数。
第二行包含 个字符 ,描述通关的移动序列。
第三行包含一对数字 和 (),表示机器人需要在所有按键按下后到达的格子坐标。
输出格式
如果无论如何损坏按键都无法帮助安德鲁完成游戏,则输出单个数字 。
否则,输出四个数字,分别表示在哪些按键按下后需要损坏按键 。如果需要在游戏开始前损坏某个按键,则为该按键输出数字 。由于安德鲁会在游戏结束后损坏剩余完好的按键,因此对于每个按键,你必须输出一个在 到 范围内的数字。
如果存在多个正确的答案,可以输出其中任意一个。
4
LRUD
3 2
-1
在第一个样例中,目标格子距离起始位置太远,无法在最多 次按键内到达。
4
DURL
0 0
0 0 0 0
在第二个样例中,可以在游戏开始时损坏所有按键,这样机器人将不会移动,并自动停留在所需位置。
8
LLURDRRD
1 -1
1 7 6 8
在第三个样例中,如果按照答案中指示的方式损坏按键,机器人最终执行的动作序列将为 "LURDRD",并将其引导到所需位置。
数据范围与提示
详细子任务附加限制及分值如下表所示。其中子任务 是样例。
| 子任务 | 分值 | 附加限制 | 子任务依赖 | 备注 |
|---|---|---|---|---|