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 n
Schritten 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:
Empty
geht zu,Awake
wenn es genau an eins angrenztAwake
, und geht ansonsten zuEmpty
Awake
geht zuSleeping
Sleeping
geht zuSleeping
Der Ausgangszustand der Karte ist eine einzelne, Awake
die von einem unendlichen Feld von Empty
s umgeben ist.
Herausforderung
n
Erstellen Sie bei einer nichtnegativen Ganzzahl nach n
Schritten 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 Awake
und #
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=10
korrekt 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.