QOJ.ac

QOJ

时间限制: 2.0 s 内存限制: 256 MB 总分: 100

#18548. 非最短路

统计

在本题中,你需要使用一条非最短的简单路径,从一个 $4 \times 4$ 的网格的一个角走到对角。

平面上有一个由 $4 \times 4$ 个格子组成的网格。网格中的每个格子要么是空的,要么完全被墙占据。

机器人 Aurelius 正在通过解决该网格上的各种问题来接受智力水平测试。他已经完成了寻找任意路径以及两格之间最短路径的部分。

下一个任务要求 Aurelius 通过空格子从网格的左上角走到右下角。单步移动是指从当前格子移动到与其共边的任何其他格子。路径必须是简单的,也就是说,对于每个格子,机器人最多只能访问一次。此外,路径的长度必须严格大于给定网格上两角之间最短路径的长度。路径的长度是指该路径上的步数。

编写一个程序来帮助机器人 Aurelius 完成这项任务。

输入格式

输入包含一个或多个测试用例。每个测试用例由四行给出。其中的每一行描述网格的一行,并且恰好包含四个字符,定义该行的格子。空格子用字符 .(点,ASCII 码 46)表示,墙用字符 #(井号,ASCII 码 35)表示。相邻的测试用例之间用一行由四个字符 -(减号,ASCII 码 45)组成的行隔开。

保证左上角的格子和右下角的格子都是空的。此外,保证单个输入中的所有测试用例都是互不相同的。

输出格式

对于每个测试用例,输出一行定义所需路径。该行必须由对应于移动到相邻格子的命令字符按执行顺序组成:D 表示向下移动,U 表示向上移动,L 表示向左移动,R 表示向右移动。如果有多种可能的路径,输出其中任意一种。如果不存在满足要求的路径,则输出数字 -1 代替路径。

样例

输入样例 1

.#..
....
..#.
.#..
----
..##
...#
#...
.#..
----
...#
..#.
.#..
#...

输出样例 1

DDRURURDDD
-1
-1

说明

样例包含三个测试用例。

在第一个测试用例中,最短路径的长度为 6 步:唯一的最短路径是 DRRRDD。除此之外,还有三条非最短的简单路径:长度为 8 的路径 DDRURRDDDRRURDDD,以及长度为 10 的路径 DDRURURDDD。输出其中任意一条即可。

在第二个测试用例中,有 8 条可能的简单路径,但它们的长度都相同,因此它们全都是最短路径。

在第三个测试用例中,不存在一条由空格子组成的、从网格左上角到右下角的路径。

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.