Schreiben Sie ein Programm oder eine Funktion, die eine positive Ganzzahl N (über stdin / command line / function arg) einliest und eine Zeichenfolgendarstellung eines zweidimensionalen zufälligen Wegs ausgibt oder zurückgibt , der N Schritte lang ist und aus Schrägstrichen besteht: /
\
(plus Leerzeichen und Zeilenumbrüche für Abstände).
Ein 2D-Zufallsrundgang beginnt am Ursprung eines unendlichen Ganzzahlgitters . Dann wird N-mal wiederholt eine Kardinalrichtung (oben, unten, links, rechts) gleichmäßig nach dem Zufallsprinzip gewählt und der Läufer bewegt sich eine Einheit in diese Richtung. Der daraus resultierende Weg ist der zufällige Weg.
Hier ist ein zufälliger Weg für N = 6. Beachten Sie, dass es auf sich selbst zurückgeht, wenn es (-1, 3) erreicht.
Um dies mit Schrägstrichen zu zeichnen, müssen wir das ganze Ding im Uhrzeigersinn um 45 ° drehen. Die Achsen sowie Start- und Endpunkte werden in der Schrägstrichversion nicht gezeichnet.
/
\
\
/\
Eine komplexere Wanderung wie diese (N = 20, obwohl es keine Möglichkeit gibt zu sagen):
Würde das werden:
/
/\/ /\
\/\/
/\/
\/
Ihr Programm muss diese Art von Schrägstrichen für zufällige Spaziergänge generieren. Sie müssen nach dem Zufallsprinzip jede neue Richtung für die Wanderung auswählen, sodass jedes Programm für ein bestimmtes N mit ziemlicher Sicherheit eine andere Wanderung ergibt. (Pseudozufälligkeit ist in Ordnung.)
Es sollten keine Leerzeilen über oder unter dem niedrigsten und höchsten Schrägstrich (mit Ausnahme eines optionalen abschließenden Zeilenumbruchs) und keine Leerzeilenspalten vor oder nach dem ganz linken und ganz rechten Schrägstrich vorhanden sein.
Für N = 1 ist die Ausgabe also immer /
oder \
, aber niemals so etwas wie:
/
Nachgestellte Leerzeichen sind zulässig, solange sie nicht über die Spalte mit dem Schrägstrich ganz rechts hinausgehen.
Die Einsendung mit den wenigsten Bytes gewinnt. Hier ist ein praktischer Bytezähler.