2677 问题 F: 蓝桥杯2022年第十三届省赛真题-回忆迷宫

时间限制: 1s 内存限制: 512MB 提交: 751 解决: 100
题目描述

爱丽丝刚从一处地下迷宫中探险归来,你能根据她对于自己行动路径的回忆,帮她画出迷宫地图吗? 

迷宫地图是基于二维网格的。爱丽丝会告诉你一系列她在迷宫中的移动步骤,每个移动步骤可能是上下左右四个方向中的一种,表示爱丽丝往这个方向走了一格。你需要根据这些移动步骤给出一个迷宫地图,并满足以下条件: 

1、爱丽丝能在迷宫内的某个空地开始,顺利的走完她回忆的所有移动步骤。 

2、迷宫内不存在爱丽丝没有走过的空地。 

3、迷宫是封闭的,即可通过墙分隔迷宫内与迷宫外。任意方向的无穷远处视为迷宫外,所有不与迷宫外联通的空地都视为是迷宫内。(迷宫地图为四联通,即只有上下左右视为联通) 

4、在满足前面三点的前提下,迷宫的墙的数量要尽可能少。 

输入

第一行一个正整数 N,表示爱丽丝回忆的步骤数量。

接下来一行 N 个英文字符,仅包含 UDLR 四种字符,分别表示上(Up)、下(Down)、左(Left)、右(Right)。 

输出

请通过字符画的形式输出迷宫地图。迷宫地图可能包含许多行,用字符 ‘*’ 表示墙,用 ‘ ’(空格)表示非墙。

你的输出需要保证以下条件:

1、至少有一行第一个字符为 ‘*’。

2、第一行至少有一个字符为 ‘*’。

3、每一行的最后一个字符为 ‘*’。

4、最后一行至少有一个字符为 ‘*’。

样例输入
17
UUUULLLLDDDDRRRRU
样例输出
 ***** 
*     *
* *** *
* *** *
* *** *
*     *
 ***** 
提示

爱丽丝可以把第六行第六个字符作为起点。

外墙墙墙墙墙外

墙内内内内内墙

墙内墙墙墙内墙

墙内墙墙墙内墙

墙内墙墙墙内墙

墙内内内内内墙

外墙墙墙墙墙外

对于所有数据,0 < N ≤ 100.

比赛公告

第十三届蓝桥杯大赛软件赛省赛 Java 大学 B 组
C题

字符统计

D题

最少刷题数

E题

求阶乘

F题

最大子矩阵

G题

数组切分

H题

回忆迷宫

I题

红绿灯

J题

拉箱子

注意事项:

1. 不要使用 package 语句。

2. 选手代码的主类名必须为:Main,否则会被判为无效代码。

3. 如果程序中引用了类库,在提交时必须将 import 语句与程序的其他部分同时提交。

4. 只允许使用 Java 自带的类库。

5. 提交时,注意选择使用Java语言。


本比赛结束依旧可以训练,见题集2022年第十三届蓝桥杯大赛软件类省赛Java大学B组真题