Es ist allgemein bekannt, dass eine Person, die unter dem Einfluss von Alkohol am Netz steht, die gleiche Chance hat, in eine beliebige Richtung zu gehen. Diese Erklärung des gesunden Menschenverstands gilt jedoch nicht für sehr kleine Betrunkene, deren Verhalten so ist, als würden sie jeden verfügbaren Weg auf einmal gehen, und die möglichen Wege, die sie einschlagen, können sich gegenseitig stören. Ihre Aufgabe ist es, die möglichen Positionen eines solchen Quantentrinkers nach nSchritten anzuzeigen .
Spezifikation
Der betreffende Betrunkene nimmt ein quadratisches Gitter ein und kann als ein 3-Zustands-Zellularautomat betrachtet werden, der eine von Neumann-Nachbarschaft (plus-förmig) verwendet, die diesen einfachen Regeln folgt:
Emptygeht zu,Awakewenn es genau an eins angrenztAwake, und geht ansonsten zuEmptyAwakegeht zuSleepingSleepinggeht zuSleeping
Der Ausgangszustand der Karte ist eine einzelne, Awakedie von einem unendlichen Feld von Emptys umgeben ist.
Herausforderung
nErstellen Sie bei einer nichtnegativen Ganzzahl nach nSchritten eine ASCII-Darstellung des Betrunkenen . Jeder Zustand sollte durch ein anderes Zeichen dargestellt werden, und Lösungen sollten angeben, welches Zeichen welchen Zustand bedeutet. Wenn Sie Leerzeichen verwenden Empty, müssen Sie diese nicht am Ende einer Zeile einfügen.
Das ist Code-Golf , also gewinnt die kürzeste Antwort. Es gelten Standardlücken , führende und nachfolgende Leerzeichen sind zulässig, die Ausgabe von String-Arrays / 2D-Char-Arrays ist zulässig usw.
Beispiele
Diese Beispiele verwenden für Empty, @für Awakeund #für Sleeping.
n=0
@
n = 1
@
@#@
@
n = 2
@
#
@###@
#
@
n = 3
@
@#@
@ # @
@#####@
@ # @
@#@
@
n=6
@
#
@###@
@#@
@ ### @
#@# # #@#
@###########@
#@# # #@#
@ ### @
@#@
@###@
#
@
n=10
@
#
@###@
@#@
###
# # #
#######
# ### #
@ ## ### ## @
#@# ### # ### #@#
@###################@
#@# ### # ### #@#
@ ## ### ## @
# ### #
#######
# # #
###
@#@
@###@
#
@
Interessante Anmerkung
Durch Nachschlagen der Sequenz der Anzahl der besetzten Zellen im OEIS stellte ich fest, dass der Quantentrinker isomorph zu der viel besser untersuchten Zahnstochersequenz ist . Wenn Sie dieses Wissen in ein besseres Golfspiel einfließen lassen, bin ich beeindruckt.




n=10korrekt ist? Ich habe ein paar Ansätze ausprobiert und sie bekommen alle die gleiche (falsche) Antwort, deshalb möchte ich nur sichergehen. Es sieht ein bisschen anders aus, aber ich weiß es nicht.