Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:128 MB

#13308. [信息与未来 2026] ASCII Art

Statistics

题目描述

早期计算机的输入设备 “终端” 由打字机演变而来,只能显示字符。在字符终端上画画被称为ASCII Art (ASCII 艺术)。下面的 “电脑” ASCII Art 就是 AI 根据照片生成的:

我们希望用 ASCII Art 更 “酷” 地绘制迷宫。迷宫是一个 n 行 m 列的矩形。迷宫中,障碍格用“#” 表示,空格用 “.” 表示。这个迷宫还满足 “无环” 性质:任意两个空格之间恰好只有一条路径。 例如,下面是一个 3 × 4 的迷宫:

.#..
.#.#
....

我们希望绘制的迷宫能正确还原迷宫中空格的连通关系:迷宫的每个格子都是一个由四个加号“+” 围成的方框,相邻格子之间的边界要么画成墙 (横向墙用两个减号 “--”,纵向墙用一个竖线 “|”),要么留空。在保证能准确反映原迷宫可移动关系的前提下,墙段和角点 (即 “+”) 的数量都应尽可能少。例如,上面的迷宫应该被画成:

输入格式

输入第一行两个整数 n, m,表示迷宫的行数和列数。

接下来 n 行,每行一个长度为 m 的字符串,仅由 “.” 和 “#” 组成。

字符 “.” 表示空格,字符 “#” 表示障碍格。

输出格式

输出 2n + 1 行,为迷宫对应的 ASCII Art 图形。

样例数据

input

4 6
...#..
##...#
...#..
#.#..#

output

+--+--+--+  +--+--+
|        |  |     |
+--+--+  +--+  +--+
      |        |
+--+--+  +--+  +--+
|        |  |     |
+--+  +--+--+  +--+
   |  |  |     |
   +--+  +--+--+

数据范围

对于所有数据,1≤n,m≤100 且四条边界上都至少有一个空格。