当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

2956:Robot Encryption

题目描述
Due to suspicion of cheaters, one of the more paranoid problem setters has started encrypting all messages to the rest of the jury before sending them. He didn't use any standard encryption, however, as he believes those are all part of a giant conspiracy network trying to crush IDI Open from the inside.

Instead, he based it on the fact that the cheaters are likely to be the worst programmers. The decryption requires some programming skill, and should
therefore be safe.

Along with the encrypted message, he sent explanation of how to decrypt it. The only problem now is that not all jury members are able to implement the decryption. This is where we need your help.

You need to help us decrypt these messages by writing a program that does the task. Decryption is performed by simulating a robots movement on a grid. The robot is initially placed in the north-west corner of the grid, facing south. The robot is a simple one, and only accepts three dierent commands:

L turns the robot 90 angle to the left.

R turns the robot 90 angle to the right.

F moves the robot one square forward. If moving forward would cause the robot to fall of the grid, the robot instead makes a 180 angle turn without moving.

Instructions to the robot is given in a series of commandsets. A commandset is a string of commands, with the possible addition of loops. A loop is given on the form "(commandset)number" where number is the number of times the commandset inside the parentheses should be run. Longer sequences of commands can be built up recursively in this fashion. More formally:

commandset ::= instruction+

instruction ::= command | loop

loop ::= "(" commandset ")" number

command ::= R | L | F

number ::= 1 |2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

The decrypted text is the text string obtained by concatenating the characters on the grid positions the robot stands on after executing each commandline.
输入解释
The first line of input gives T, the number of test scenarios. Each scenario starts with a line containing W and H, separated by a single space, describing the dimensions of the grid. Then follows H lines, each consisting of W characters, making up the grid. After this comes a line containing N, the number of commandlines, followed by the N lines the robot will be executing.
输出解释
One line per test scenario, containing the decrypted text.

Notes and Constraints
0 < T <= 100
0 < W <= 50
0 < H <= 50
0 < N <= 20

Commandlines will be no longer than 50 characters, and will follow the syntax given in the problem text.

No character with ASCII value lower than 32 or higher than 126 will appear on the robots grid.
输入样例
1
6 7
012345
6789AB
CDEFGH
IJKLMN
OPQRST
UVWXYZ
_! .,&
12
FFL(F)5
(F)4
(LF)2
(L(R)6L)9
RFRFFF
(L(F)2)2
LF
FLFF
FFFF
LF
FLFF
L(F)4
输出样例
HELLO WORLD!
来自杭电HDUOJ的附加信息
Recommend gaojie

该题目是Virtual Judge题目,来自 杭电HDUOJ

题目来源 IDI Open 2009

源链接: HDU-2956

最后修改于 2020-10-25T22:58:38+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
2000/1000MS(Java/Others) 32768/32768K(Java/Others)