看!这是一个ASCII迷宫!太酷了,酷炫的东西。
+-+-----+---+
| | | |
| | ++ | |
| | ++ +-+ |
| | |
+-------+ | |
| | |
+---------+-+
但是,但是,但是……很难确定迷宫的所有部分都朝着哪个方向前进。我只想绘制布局,迷宫使自己变得无情,没有时间。
如果我可以将其绘制在...
#############
# # # #
# # ## # #
# # ## ### #
# # #
######### # #
# # #
#############
那太甜了!
规则(因为规则很酷):
- 编写代码以将字符串转换为ascii迷宫并输出结果。
- 任何非空白字符都将被视为墙。
- 墙的每个字符都将根据其邻居决定哪个字符(仅在北,南,东和西方向上)。
- 如果一个字符没有非空白邻居,它将是一个加号(+)。
- 如果字符在垂直(北-南)和水平(东-西)方向上都具有邻居,则它将为加号(+)。
- 如果char仅在垂直(南北)方向上具有邻居,则它将是管道符号(|)。
- 如果char仅在水平(东西向)方向上具有邻居,则它将为减号(-)。
- 输入可以是单个字符串(用换行符分隔的行或字符串数组)。
- 所有输入字符都是可打印的ASCII字符,您无需处理扩展字符集。
- 您可以使用任何旧的语言。
- 如果一行之前有空白,则每行上的空格量应相同。每行输出后的空白都可以。
- 尝试用最少的字节数解决它。
测试用例:
1:框架
输入:
##########
# #
# #
# #
##########
输出:
+--------+
| |
| |
| |
+--------+
2:经典迷宫
输入:
#################
# #
# ##### # ##### #
# # # # # #
# # # # ##### # #
# # # # #
### # ####### # #
# # # # # #
# ### # ## # ##
# # ## #
#################
输出:
--------+-------+
| |
| --+-+ | ----+ |
| | | | | |
| + | | +---- | |
| | | | |
+-- | +----+- | |
| | | | | |
| --+ | ++ | -+
| | ++ |
+-----+-++----+--
3:绿色的鸡蛋,伙计
输入:
I do not like green eggs and ham.
I do not like them, sam I am.
Would you like them here or there?
I would not like them anywhere!
输出:
| ++ +++ ++++ +++++ +++- -++ ----
| ++ +++ ++++ +++++ +++ + +++
+-+++ +++ ++++ ++++ ++++ ++ +++---
| +++-+ +++ ++++ ++-+ +++++++++
4:冰柱
输入:
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
输出:
++++ ++++++-
++++ ++++++
++++ +++++
+++ +++++
+++ ++++
+++ | ++
++ | ++
++ | |
++ |
++
|
-
,或者为什么经典迷宫+
的最下面一行没有四个符号。
smallest number of characters
不是字节吗?
+
的第一行中间应该有2)!
冰柱的i应当用代替-
。您能仔细检查一下这些吗?
whitespace
,您是指空间吗?我不需要支持制表符,并且您也可能不想让我转换换行符
---
吗?