bak! Bu bir ASCII labirenti! Soo coolzors, amazeballs ve diğer şeyler.
+-+-----+---+
| | | |
| | ++ | |
| | ++ +-+ |
| | |
+-------+ | |
| | |
+---------+-+
Ama, ama, ama ... ... labirentin tüm bölümlerinin hangi yöne gittiđini bulmak acý. Sadece düzeni çizmek istiyorum ve labirent zaman dolmadan kendini sooper kul yapıyor.
Ya bunu çizebilirsem ...
#############
# # # #
# # ## # #
# # ## ### #
# # #
######### # #
# # #
#############
Bu çok tatlı olurdu!
Kurallar (Çünkü kurallar soğur):
- Bir dizeyi bir ascii labirentine dönüştürmek ve sonucu çıkarmak için kod yazın.
- Boşluk olmayan herhangi bir karakter duvar olarak okunur.
- Her bir duvar, hangi karakterin komşularına dayanacağına karar verecektir (sadece Kuzey, Güney, Doğu ve Batı yönlerinde).
- Bir karakterde boşluk olmayan komşular yoksa artı işareti (+) olur.
- Bir karakterin hem dikey (Kuzey-Güney) hem de yatay (Doğu-Batı) yönlerde komşuları varsa, artı işareti (+) olacaktır.
- Bir karakterin yalnızca dikey (Kuzey-Güney) yönde komşuları varsa, bir boru sembolü (|) olacaktır.
- Bir karakterin sadece yatay (Doğu-Batı) yönde komşuları varsa, eksi işareti (-) olacaktır.
- Girdi tek bir dize olabilir (satırlar yeni satır karakterleriyle ayrılmış olabilir veya bir dizgi dizisi).
- Tüm giriş karakterleri yazdırılabilir ASCII karakterleri olacaktır, genişletilmiş karakter kümeleriyle uğraşmanıza gerek yoktur.
- İstediğiniz eski dilleri kullanın.
- Bir satırdan önce beyaz boşluk varsa, her satırda aynı miktarda olmalıdır. Her çıktı satırından sonraki beyaz boşluklar iyi.
- En az sayıda bayt ile çözmeye çalışın.
Test senaryoları:
1: Çerçeve
Giriş:
##########
# #
# #
# #
##########
Çıktı:
+--------+
| |
| |
| |
+--------+
2: Klasik labirent
Giriş:
#################
# #
# ##### # ##### #
# # # # # #
# # # # ##### # #
# # # # #
### # ####### # #
# # # # # #
# ### # ## # ##
# # ## #
#################
Çıktı:
--------+-------+
| |
| --+-+ | ----+ |
| | | | | |
| + | | +---- | |
| | | | |
+-- | +----+- | |
| | | | | |
| --+ | ++ | -+
| | ++ |
+-----+-++----+--
3: Yeşil yumurta, adamım.
Giriş:
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!
Çıktı:
| ++ +++ ++++ +++++ +++- -++ ----
| ++ +++ ++++ +++++ +++ + +++
+-+++ +++ ++++ ++++ ++++ ++ +++---
| +++-+ +++ ++++ ++-+ +++++++++
4: Buz sarkıtları
Giriş:
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
Çıktı:
++++ ++++++-
++++ ++++++
++++ +++++
+++ +++++
+++ ++++
+++ | ++
++ | ++
++ | |
++ |
++
|
-
s'ye sahip olacağından veya klasik labirentin +
alt satırda neden dört s olmadığından emin değilim .
smallest number of characters
bayt değil, gerçekten mi demek istiyorsun ?
+
1. sıranın ortasında a olmalı 2) !
buz sarkıtları a ile değiştirilmelidir -
. Bunları tekrar kontrol edebilir misiniz?
whitespace
, sadece sadece uzay demek? Sekmeleri desteklemek zorunda değilim ve muhtemelen yeni satırları dönüştürmemi de istemiyorsunuz
---
mi?