É sabido que uma pessoa em uma grade sob a influência de álcool tem a mesma chance de seguir as direções disponíveis. No entanto, essa afirmação de bom senso não se aplica ao reino dos bêbados muito pequenos , cujo comportamento é como se eles seguissem todos os caminhos disponíveis ao mesmo tempo, e os possíveis caminhos que eles seguiam podem interferir um no outro. Sua tarefa é exibir as posições possíveis de um bêbado quântico após as netapas.
Especificação
O bêbado em questão ocupa uma grade quadrada e pode ser considerado um autômato celular de três estados usando uma vizinhança de Von Neumann (em forma de mais) que segue estas regras simples:
Emptyvai paraAwakese for adjacente a exatamente umAwakee, caso contrário, vai paraEmptyAwakevai paraSleepingSleepingvai paraSleeping
O estado inicial do quadro é um único Awakecercado por um campo infinito de Emptys.
Desafio
Dado um número inteiro não negativo n, crie uma representação ASCII do bêbado após as netapas. Cada estado deve ser representado por um caractere diferente, e as soluções devem indicar qual caractere significa qual estado. Se você usar espaços para Empty, não precisará incluir uma execução deles no final de uma linha.
Isso é código-golfe , então a resposta mais curta vence. Aplicam-se brechas padrão , são permitidos espaços em branco à esquerda e à direita, saída de matriz de caracteres / matriz de caracteres 2D, etc.
Exemplos
Esses exemplos usam para Empty, @para Awakee #para Sleeping.
n=0
@
n = 1
@
@#@
@
n = 2
@
#
@###@
#
@
n = 3
@
@#@
@ # @
@#####@
@ # @
@#@
@
n=6
@
#
@###@
@#@
@ ### @
#@# # #@#
@###########@
#@# # #@#
@ ### @
@#@
@###@
#
@
n=10
@
#
@###@
@#@
###
# # #
#######
# ### #
@ ## ### ## @
#@# ### # ### #@#
@###################@
#@# ### # ### #@#
@ ## ### ## @
# ### #
#######
# # #
###
@#@
@###@
#
@
Nota interessante
Observando a sequência do número de células ocupadas no OEIS, descobri que o bêbado quântico é isomórfico para a sequência de palitos de dente muito mais estudada . Se você puder incorporar esse conhecimento em um golfe melhor, ficarei impressionado.




n=10está correto? Eu tentei algumas abordagens e todas obtiveram a mesma resposta (errada), então só quero ter certeza. Parece um pouco errado, mas eu não sei.