È necessario scrivere un programma o una funzione che riceve un blocco di caratteri rappresentato come stringa e genera o restituisce una stringa simile in cui sono collegate le lettere adiacenti nell'alfabeto.
Un esempio visivo (sotto forma di input => output
):
b d b d
|\ /|
| \ / |
=> | X |
| / \ |
e |/ \e
c a c a
Dettagli
- L'input sarà una stringa contenente spazi, newline ed esattamente una di ciascuna delle prime
N
lettere minuscole.1 <= N <= 26
- Le linee dell'input saranno riempite con spazi creando un blocco rettangolare completo.
- Ogni coppia di lettere adiacente all'alfabeto sarà sulla stessa riga, colonna o linea diagonale e dovrebbe essere collegata con una linea ascii dritta usando
\ / | or -
. (La linea potrebbe avere una lunghezza di 0.) Devono essere gestiti i seguenti tipi di sovrapposizioni a due righe:
/ and \ become X | and - become + / and / become / \ and \ become \ | and | become | - and - become - [letter] and [anything] become [letter]
Non si verificherà nessun altro tipo di sovrapposizione a due righe.
- Se più di due righe si sovrappongono, ciascuna coppia di esse sarà garantita come una delle sovrapposizioni valide. (ad esempio la
[letter] / |
tripletta non si verificherà mai) - Oltre a cambiare gli spazi in
\ / | - X and +
input e output dovrebbe essere identico. - Il trascinamento di newline è facoltativo ma deve essere lo stesso per input e output.
- Questo è code-golf, quindi vince l'ingresso più breve.
Esempi
Ingresso:
b d
h gi
e f
c a
Produzione:
b d
|\ /|
| \ / |
| X h+--gi
| / \ | |
|/ \e--f
c a
Ingresso:
dk j
b l
c fg
a m
i h
e
Produzione:
dk----j
/|| /
b / |l /
|X | \/
c \ fg/\
\|/\ \
a \ m
/| \
i-+----h
e
Ingresso:
eti sqjh k p u cfm vb owgzyx rnd la
Produzione:
eti--sqjh-k--p--u--cfm-vb-owgzyx-rnd-la
Ingresso:
a
Produzione:
a
/
e -
sono sovrapposizioni validi X
e +
( / \ - and |
) non può avvenire nella stessa posizione.