#33. 手牵手
手牵手
手牵手
时间限制:
空间限制:
题目描述
最近,须弥出现了一款游戏--手牵手。纳西妲非常喜欢这款游戏,所以把这款游戏推荐给了你。游戏的主要玩法是这样的:
在一个的网格图中,有一个公主和一个王子,当然还有一些不能通过的障碍物。如果这个游戏只是让王子尽可能快的找到公主,那未免太无趣了,纳西妲也不会推荐给你。事实上,在这个游戏里,公主和王子总是心有灵犀,会做相同的事情。比如说王子左移一格,那么公主也左移一格;公主上移一格,王子也上移一格。当然,如果王子左移了一格,而公主的左侧是障碍物,那么公主就只能停留在原地了,其他情况类推。也就是说,玩家每次都可以在四个指令中选择一个(依次为上下左右),然后公主和王子会同时执行该操作,遇到障碍物或者边界的则原地不动。你的任务是构造一个操作序列,使得王子和公主可以相遇。当然,你不需要做到最优解,只需要在次操作内完成就可以了。
数据格式
输入
第一行,两个正整数.
接下来行,每行个正整数。如果表示该位置没有障碍物,如果表示该位置有障碍物。
接下来一行,两个正整数表示王子的位置。
接下来一行,两个正整数表示公主的位置。
数据保证王子和公主是可以相遇的。
输出
一个由组成的操作序列,长度不能超过.
样例
输入
4 5
00111
10000
11001
11000
1 2
3 4
输出
ULLUL
注意事项
比较下面两段代码
void output1()
{
for (int i = 0; i < 10000; i++)
cout << "U";
}
void output2()
{
for (int i = 0; i < 10000; i++)
cout << "U";
cout << endl;
}
其中
output2
比output1
多输出了一个std::endl
,所以它的输出长度为,会被判定为长度超出范围。同样的道理,对于
python
选手而言,由于函数'\n'
,也会多出一个字符,所以建议像这样输出
print("U"*10000,end='')
.当然在正常情况下,你的构造应该不会正好达到这个极限,这里只是作为提醒。