Es bien sabido que una persona en una grilla bajo la influencia del alcohol tiene las mismas posibilidades de ir en cualquier dirección disponible. Sin embargo, esta declaración de sentido común no se aplica en el ámbito de los borrachos muy pequeños , cuyo comportamiento es muy similar al de tomar todos los caminos disponibles a la vez, y los posibles caminos que toman pueden interferir entre sí. Su tarea es mostrar las posibles posiciones de un borracho cuántico después de los n
pasos.
Especificación
El borracho en cuestión ocupa una cuadrícula cuadrada y puede considerarse como un autómata celular de 3 estados que utiliza un vecindario Von Neumann (en forma de más) que sigue estas simples reglas:
Empty
va aAwake
si es adyacente a exactamente unoAwake
, y de lo contrario va aEmpty
Awake
va aSleeping
Sleeping
va aSleeping
El estado inicial del tablero es un único Awake
rodeado por un campo infinito de Empty
s.
Desafío
Dado un número entero no negativo n
, cree una representación ASCII del borracho después de los n
pasos. Cada estado debe estar representado por un carácter diferente, y las soluciones deben indicar qué carácter significa qué estado. Si usa espacios para Empty
, no necesita incluir una serie de ellos al final de una línea.
Este es el código de golf , por lo que gana la respuesta más corta. Se aplican las lagunas estándar , se permiten espacios en blanco iniciales y finales, se permite la salida de matriz de cadenas / matriz de caracteres 2D, etc.
Ejemplos
Estos ejemplos usan for
Empty
, @
for Awake
y #
for Sleeping
.
n=0
@
n = 1
@
@#@
@
n = 2
@
#
@###@
#
@
n = 3
@
@#@
@ # @
@#####@
@ # @
@#@
@
n=6
@
#
@###@
@#@
@ ### @
#@# # #@#
@###########@
#@# # #@#
@ ### @
@#@
@###@
#
@
n=10
@
#
@###@
@#@
###
# # #
#######
# ### #
@ ## ### ## @
#@# ### # ### #@#
@###################@
#@# ### # ### #@#
@ ## ### ## @
# ### #
#######
# # #
###
@#@
@###@
#
@
Nota interesante
Al buscar la secuencia del número de células ocupadas en el OEIS, descubrí que el borracho cuántico es isomorfo a la secuencia de palillos de dientes mucho mejor estudiada . Si puede incorporar ese conocimiento en un mejor golf, quedaré adecuadamente impresionado.
n=10
es correcto? He intentado algunos enfoques y todos obtienen la misma respuesta (incorrecta), así que solo quiero asegurarme. Se ve un poco raro pero no lo sé.