Die Herausforderung besteht darin, dem Pfad zu folgen (zu zeichnen):
^n
- um n Zeilen nach obenvn
- um n Zeilen nach unten>n
- Rechts von n Zeichenpositionen<n
- links von n Zeichenpositionen
n
ist eine ganze Zahl, größer als Null (dh Sie können keinen Befehl wie erhalten>-2
).- Es gibt keine Trennzeichen zwischen den Befehlen. Die wohlgeformte Eingabe sieht folgendermaßen aus: Es
>5v8<10^3
ist keine andere Form der Eingabe zulässig. - Die Anzahl der Befehle ist unbegrenzt.
- Es dürfen sich keine Zeichen mehr in die Eingabe einschleichen.
Beispiele.
Eingabe ist eine leere Zeichenfolge, Ausgabe:
*
Die Eingabe ist entweder
>3
oder<3
: Beachten Sie, dass dies für die Ausgabe keinen Unterschied macht:****
Ähnlich für
^3
undv3
:* * * *
Eingang:
>1v2
Ausgang:** * *
Eingang:
^4>3v2<1
Ausgang:**** * * * ** * *
Wenn Sie zurückgehen und denselben Pfad verwenden, zeichnen Sie nichts Neues. Z.B
>5<5
******
... obwohl du nichts neues zeichnest, änderst du offensichtlich die Position. Wenn Ihre Eingabe also so aussieht:
>4<2v3
lautet die Ausgabe:***** * * *
Dies ist ein komplexeres Beispiel: 1) Der Pfad kann sich selbst kreuzen. 2) Beachten Sie, dass die letzten drei Schritte des letzten Befehls den gesamten Pfad nach rechts verschieben. Eingang:
v6>4^3<7
Ausgang:* * * ******** * * * * *****
Eingabe :
^2v2>3<3v3>4^5v5>3^5>4v2<4v3>4^3v3>3^5>4v2<4v3>7^5>4v2<4v3>9^3<2^2v2>4^2v2<2v3>8^5>2v4>2^4v5<3>6^5>5<5v2>5<5v2>5<4v1>8^3<1^2v2>1v2>2^3v3>2^2>1^2v2<1v3<3>11^3<2^2v2>4^2v2<2v3>5^5>5<5v2>5<5v2>5<4v1>7^5>4v2<4v3>4^3v3>3^5>4v2<3v1<1v2>3^1>1v1
Ausgabe:
* * ***** ***** ***** * * *** * ****** * * * * ****** ***** ***** * * * * * * * * * * * * * * * * * * * * * * * * ***** ***** ***** ***** ***** * * * ****** ** * ** ***** ****** ***** ***** * * * * * * * * * * * * * * * * * * ** * * * * * * * * *** ****** ***** * ****** * * * ** *******************************************************************************************
^2v2>3<3v3>4^5v5>3^5>4v2<4v3>4^3v3>3^5>4v2<4v3>7^5>4v2<4v3>9^3<2^2v2>4^2v2<2v3>8^5>2v4>2^4v5<3>6^5>5<5v2>5<5v2>5<4v1>8^3<1^2v2>1v2>2^3v3>2^2>1^2v2<1v3<3>11^3<2^2v2>4^2v2<2v3>5^5>5<5v2>5<5v2>5<4v1>7^5>4v2<4v3>4^3v3>3^5>4v2<3v1<1v2>3^1>1v1
.