Ispirato da questo piccolo gioco .
Sfida
Dato come input la posizione iniziale di una griglia (sempre 5x5), in questo modo:
-ABCD
-A---
---C-
---BD
--E-E
Devi collegare le lettere (stesse lettere tutte insieme), rimuovendo tutti gli -spazi vuoti . Le lettere saranno sempre A,B,C,D and E.
Ogni coppia di lettere deve essere collegata da un'unica linea non ramificata che può piegarsi ad angolo retto (usando la stessa lettera per rappresentare la linea).
Si garantisce che ogni input abbia ogni lettera iniziale esattamente 2 volte e avrà sempre tutte le lettere iniziali AE.
L'input può essere letto da stdin, o una sola stringa come arg per alcune funzioni, o anche un array / matriz / elenco di caratteri, il modo più conveniente per il tuo linguaggio di codifica.
Dal momento che questo è il codice più breve del codice -golf in byte vince!
Esempio
Non esiste una sola soluzione per ciascun problema, ma le regole si applicano a tutti (nessuno spazio vuoto e nessuna lettera separata). E l'ingresso è garantito per avere almeno un output corretto.
Iniziamo a collegare le lettere A:
AABCD
AA---
AA-C-
AA-BD
AAE-E
Ora, collegando le lettere B:
AABCD
AAB--
AABC-
AABBD
AAE-E
Ora, collegando le lettere C:
AABCD
AABC-
AABC-
AABBD
AAE-E
Ora, collegando le lettere D:
AABCD
AABCD
AABCD
AABBD
AAE-E
E, infine, le lettere E:
AABCD
AABCD
AABCD
AABBD
AAEEE
Un altro campione
input:
E--E-
BB-C-
AD---
---C-
AD---
output:
EEEEE
BBECE
ADECE
ADECE
ADEEE
input:
A----
---B-
-C-C-
-D-D-
BE-EA
output:
AAAAA
BBBBA
BCCCA
BDDDA
BEEEA
A-E?