QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 1024 MB Puntuación total: 100 Hackeable ✓

#8981. 袋鼠拼图

Estadísticas

你的朋友制作了一款名为“袋鼠拼图”(Kangaroo Puzzle)的电脑游戏,并想让你帮他试玩一下。顾名思义,游戏中有一些(至少 2 只)袋鼠被困在拼图中,玩家的目标是控制它们汇合。只要拼图中的所有袋鼠汇合在一起,它们就能凭借袋鼠的神奇力量逃离拼图。

该拼图是一个 $n \times m$ 的网格,包含 $nm$ 个单元格。某些单元格中有墙壁,袋鼠无法进入这些单元格。其余单元格为空。袋鼠可以向以下方向移动:上、下、左、右。题目保证从任意一个空单元格出发,袋鼠可以到达其他任何一个空单元格。同时保证拼图中不存在环——也就是说,袋鼠不可能从一个空单元格出发,经过若干个不同的空单元格后回到原位。

游戏开始时,每个空单元格中恰好有一只袋鼠。你可以通过按下键盘上的 U、D、L、R 按钮来控制袋鼠。当你按下按钮时,所有袋鼠会同时根据该方向移动。例如,如果你按下 U 键,如果某只袋鼠上方的单元格存在且为空,它就会移动到该单元格;否则,该袋鼠将保持不动。你最多可以按 50000 次按钮。如果在 50000 步之后仍有两只袋鼠处于不同的单元格中,你将输掉游戏。

输入格式

第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 20$),分别表示拼图的高度和宽度。

接下来的 $n$ 行,每行包含一个长度为 $m$ 的 $(0,1)$ 字符串,表示拼图。如果第 $i+1$ 行的第 $j$ 个字符为 1,则表示第 $i$ 行第 $j$ 列的单元格为空;否则(即为 0),表示该单元格被阻挡,无法进入。

输出格式

输出一个由 U、D、L、R 组成的字符串,使得按照该字符串的顺序按下按钮后,所有袋鼠能够汇合在一起。字符串长度不得超过 50000。存在多种可能的合法答案,输出其中任意一个即可。

样例

样例输入 1

4 4
1111
1001
1001
1110

样例输出 1

LLUUURRRDD

样例输入 2

2 15
111111111111111
101010101010101

样例输出 2

ULLLLLLLLLLLLLL

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.