дивись! Це лабіринт ASCII! Сухі холодильники, дивовижні кульки та інше.
+-+-----+---+
| | | |
| | ++ | |
| | ++ +-+ |
| | |
+-------+ | |
| | |
+---------+-+
Але, але, але ... боляче відпрацьовувати, в якому напрямку рухаються всі частини лабіринту. Я просто хочу намалювати макет, і лабіринт зробить себе кулею кул без навантажень часу.
Що робити, якби я міг просто намалювати це в ...
#############
# # # #
# # ## # #
# # ## ### #
# # #
######### # #
# # #
#############
Це було б солодко!
Правила (Тому що правила охолоджують):
- Напишіть код, щоб перетворити рядок у лабіринт ascii та вивести результат.
- Будь-який символ, що не має пробілів, буде читатися як стіна.
- Кожна таблиця стіни визначатиме, якого персонажа базувати на сусідах (лише в північному, південному, східному та західному напрямках).
- Якщо у 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
Вихід:
++++ ++++++-
++++ ++++++
++++ +++++
+++ +++++
+++ ++++
+++ | ++
++ | ++
++ | |
++ |
++
|
-
s або чому класичний лабіринт не має чотирьох +
s у нижньому ряду.
smallest number of characters
не байти?
+
середину 1-го ряду 2) !
Ікрила слід замінити на a -
. Чи можете ви подвійно перевірити ці?
whitespace
, ти просто маєш на увазі просто простір? Мені не хочеться підтримувати вкладки, і ви, мабуть, не хочете, щоб я також трансформував нові рядки
---
?