P9840 [ICPC 2021 Nanjing R] Oops, It's Yesterday Twice More
题目描述
继 2018、2019 和 2020 年的巨大成功之后,南京航空航天大学(NUAA)将第四次举办国际大学生程序设计竞赛(ICPC)南京赛区。
2018 年和 2019 年,清华大学的队伍“Power of Two”和“三人行二”分别获得了冠军。2020 年,北京大学的队伍“Inverted Cross”赢得了冠军。2021 年,大约有 700 支队伍,包括卫冕冠军,参加了比赛。我们非常期待今年谁将获胜!
尽管由于疫情我们无法在南京聚集,但我们仍然应该感谢所有工作人员和志愿者为这次比赛所做的辛勤工作。感谢你们对这次比赛的巨大贡献!
在 2018 年的比赛中,问题 K,“Kangaroo Puzzle”,要求参赛者为游戏构建一个操作序列:
> 这个谜题是一个有 $n$ 行 $m$ 列的网格($1 \le n, m \le 20$),其中有一些(至少 2 个)袋鼠站在网格中。玩家的目标是控制它们聚在一起。某些格子中有墙,袋鼠不能进入有墙的格子。其他格子是空的。袋鼠可以从一个空格子移动到相邻的空格子,方向有四个:上、下、左、右。
>
> 一开始每个空格子中恰好有一个袋鼠,玩家可以通过按键盘上的 U、D、L、R 按钮来控制袋鼠。袋鼠将根据你按下的按钮同时移动。
>
> 参赛者需要构建一个最多 $5 \times 10^4$ 步的操作序列,仅包含 U、D、L、R,以实现目标。
在 2020 年的比赛中,问题 A,“Ah, It's Yesterday Once More”,要求参赛者构建一个输入地图以破解之前描述的问题的以下代码:
```cpp
#include
using namespace std;
string s = "UDLR";
int main()
{
srand(time(NULL));
for (int i = 1; i 1$,它将移动到 $(i-1,j)$。否则,它将停留在同一格子。
- 按钮 D:如果 $i1$,它将移动到 $(i,j-1)$。否则,它将停留在同一格子。
- 按钮 R:如果 $j
输入格式
每个测试文件中只有一个测试用例。
输入的第一行也是唯一一行包含三个整数 $n$,$a$,$b$($2 \leq n \leq 500$,$1 \leq a,b \leq n$),表示网格的大小和目标格子。
输出格式
输出一个仅由字符 `U`、`D`、`L` 和 `R` 组成的字符串,并且其长度不能超过 $3(n-1)$。可以证明答案总是存在的。
说明/提示
题面翻译由 ChatGPT-4o 提供。