Guarda! È un labirinto ASCII! Soo coolzors, stupefacenti e cose del genere.
+-+-----+---+
| | | |
| | ++ | |
| | ++ +-+ |
| | |
+-------+ | |
| | |
+---------+-+
Ma, ma, ma ... è una seccatura capire in che direzione stanno andando tutte le parti del labirinto. Voglio solo disegnare il layout e il labirinto si fa sooper kul senza un sacco di tempo.
E se potessi semplicemente disegnarlo in ...
#############
# # # #
# # ## # #
# # ## ### #
# # #
######### # #
# # #
#############
Sarebbe così dolce!
Le regole (Perché le regole sono fredde):
- Scrivi il codice per convertire una stringa in un labirinto ascii e produrre il risultato.
- Qualsiasi personaggio non bianco verrà letto come un muro.
- Ogni personaggio del muro deciderà quale personaggio basarsi sui suoi vicini (solo nelle direzioni Nord, Sud, Est e Ovest).
- Se un carattere non ha vicini non bianchi, sarà un segno più (+).
- Se un personaggio ha vicini nelle direzioni verticale (Nord-Sud) e orizzontale (Est-Ovest), sarà un segno più (+).
- Se un personaggio ha vicini solo in una direzione verticale (nord-sud), sarà un simbolo di pipa (|).
- Se un personaggio ha vicini solo in una direzione orizzontale (est-ovest), sarà un segno meno (-).
- L'input può essere una singola stringa (con linee separate da caratteri di nuova riga o una matrice di stringhe).
- Tutti i caratteri di input saranno caratteri ASCII stampabili, non è necessario gestire set di caratteri estesi.
- Usa qualsiasi vecchia lingua per favore.
- Se c'è uno spazio bianco prima di una riga, dovrebbe essere la stessa quantità su ogni riga. Qualsiasi spazio bianco dopo ogni riga di output va bene.
- Tentare di risolverlo con il minor numero di byte.
Casi test:
1: cornice
Ingresso:
##########
# #
# #
# #
##########
Produzione:
+--------+
| |
| |
| |
+--------+
2: labirinto classico
Ingresso:
#################
# #
# ##### # ##### #
# # # # # #
# # # # ##### # #
# # # # #
### # ####### # #
# # # # # #
# ### # ## # ##
# # ## #
#################
Produzione:
--------+-------+
| |
| --+-+ | ----+ |
| | | | | |
| + | | +---- | |
| | | | |
+-- | +----+- | |
| | | | | |
| --+ | ++ | -+
| | ++ |
+-----+-++----+--
3: uova verdi, amico.
Ingresso:
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!
Produzione:
| ++ +++ ++++ +++++ +++- -++ ----
| ++ +++ ++++ +++++ +++ + +++
+-+++ +++ ++++ ++++ ++++ ++ +++---
| +++-+ +++ ++++ ++-+ +++++++++
4: ghiaccioli
Ingresso:
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
Produzione:
++++ ++++++-
++++ ++++++
++++ +++++
+++ +++++
+++ ++++
+++ | ++
++ | ++
++ | |
++ |
++
|
-s o perché il classico labirinto non abbia quattro +s nella fila inferiore.
smallest number of characters, non byte?
+nel mezzo della 1a fila 2) il !di Icicles dovrebbe essere sostituito con a -. Potresti ricontrollare questi?
whitespace, ti basta dire solo lo spazio? Non voglio dover supportare le schede e probabilmente non vorrai nemmeno che io trasformi le nuove righe
---?