È 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 npassaggi.
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:
EmptyvaAwakese è adiacente esattamente a unoAwake, e altrimenti va aEmptyAwakeva aSleepingSleepingva aSleeping
Lo stato iniziale della scheda è un singolo Awakecircondato da un campo infinito di Emptys.
Sfida
Dato un numero intero non negativo n, creare una rappresentazione ASCII dell'ubriacone dopo i npassaggi. 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 Awakee #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=10sia corretto? Ho provato alcuni approcci e tutti ottengono la stessa risposta (sbagliata), quindi voglio solo assicurarmene. Sembra un po 'fuori ma non lo so.