È noto che una persona su una griglia sotto l'influenza dell'alcol ha le stesse possibilità di andare in qualsiasi direzione disponibile. Tuttavia, questa affermazione di buon senso non vale nel regno di ubriaconi molto piccoli , il cui comportamento è molto simile a quello che prendono tutti i percorsi disponibili contemporaneamente, e i possibili percorsi che intraprendono possono interferire tra loro. Il tuo compito è quello di visualizzare le possibili posizioni di un tale ubriacone quantico dopo i n
passaggi.
specificazione
L'ubriacone in questione occupa una griglia quadrata e può essere considerato un automa cellulare a 3 stati utilizzando un quartiere di Von Neumann (a forma di più) che segue queste semplici regole:
Empty
vaAwake
se è adiacente esattamente a unoAwake
, e altrimenti va aEmpty
Awake
va aSleeping
Sleeping
va aSleeping
Lo stato iniziale della scheda è un singolo Awake
circondato da un campo infinito di Empty
s.
Sfida
Dato un numero intero non negativo n
, creare una rappresentazione ASCII dell'ubriacone dopo i n
passaggi. Ogni stato dovrebbe essere rappresentato da un carattere diverso e le soluzioni dovrebbero indicare quale carattere significa quale stato. Se usi gli spazi per Empty
, non è necessario includerne una sequenza alla fine di una riga.
Questo è code-golf , quindi vince la risposta più breve. Si applicano scappatoie standard , è consentito lo spazio bianco iniziale e finale, è consentito l'output di array di stringhe / array di caratteri 2D, ecc.
Esempi
Questi esempi usano for
Empty
, @
for Awake
e #
for Sleeping
.
n=0
@
n = 1
@
@#@
@
n = 2
@
#
@###@
#
@
n = 3
@
@#@
@ # @
@#####@
@ # @
@#@
@
n=6
@
#
@###@
@#@
@ ### @
#@# # #@#
@###########@
#@# # #@#
@ ### @
@#@
@###@
#
@
n=10
@
#
@###@
@#@
###
# # #
#######
# ### #
@ ## ### ## @
#@# ### # ### #@#
@###################@
#@# ### # ### #@#
@ ## ### ## @
# ### #
#######
# # #
###
@#@
@###@
#
@
Nota interessante
Osservando la sequenza del numero di cellule occupate nell'OEIS, ho scoperto che l'ubriacone quantico è isomorfo rispetto alla sequenza di stuzzicadenti molto meglio studiata . Se riesci a incorporare queste conoscenze in un golf migliore, rimarrò adeguatamente colpito.
n=10
sia corretto? Ho provato alcuni approcci e tutti ottengono la stessa risposta (sbagliata), quindi voglio solo assicurarmene. Sembra un po 'fuori ma non lo so.