您可以按下按钮不超过 2·n·m 次。
要按下按钮,您应该在新行中打印“U”,“D”,“L”,“R”。有必要打印换行符和刷新输出。刷新缓冲区后,您应该从输入数据中读取答案。答案是一对空格分隔的整数 x, y − 玩家的新位置。如果移动方向上没有单元格,则位置不会改变。如果玩家在任何移动后输了,换句话说,玩家移动到危险单元格,则 x 和 y 将等于 -1。
如果在任何移动后玩家处于完成或危险单元,那么您应该终止您的程序。
要在打印方向和换行符后立即完成输出缓冲区(即用于操作刷新),您应该执行以下操作:
fflush(stdout) in C++
System.out.flush() in Java
stdout.flush() in Python
帕斯卡中的冲洗(输出)
阅读其他语言的文档。
黑客
要执行黑客攻击,您应该使用以下格式:
n m swapLR swapUD
a_1
a_2
...
a_n
其中 n、m− 游戏字段中的行数和列数。当方向“L”和“R”被交换时,swapLR 等于 1,否则等于 0。当方向“U”和“D”被交换时,swapUD 等于 1,否则等于 0。A1,A2,..., − 游戏字段相应行的描述。
例
输入
4 3
...
**.
F*.
...
1 1
1 2
1 3
1 3
6 ·
3 3
4 3
4 2
4 1
3 1
输出
R
L
L
D
U
U
U
R
R
D
注意
在第一个测试用例中,所有四个方向都与相反的方向交换。交互协议 以更方便的形式:
此测试可以通过以下方式成为黑客的演示者:
4 3 1 1
...
**.
F*.
...