Taxi , 2577 Bytes
Go to Post Office:w 1 l 1 r 1 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:s 1 l 1 r.Pickup a passenger going to Sunny Skies Park.Go to Sunny Skies Park:n 1 l 1 l 1 r.[a]Go to Heisenberg's:n 1 r 1 r 3 r.Pickup a passenger going to Cyclone.Go to Go More:n 1 l 3 l 3 l.Go to Starchild Numerology:e 2 r.62 is waiting at Starchild Numerology.Pickup a passenger going to Cyclone.Go to Cyclone:e 1 l 2 r.Pickup a passenger going to What's The Difference.Pickup a passenger going to Divide and Conquer.Pickup a passenger going to Divide and Conquer.Go to Divide and Conquer:n 2 r 2 r 1 r.Pickup a passenger going to Trunkers.Go to Trunkers:e 1 r 3 r 1 l.Pickup a passenger going to Multiplication Station.Go to Cyclone:w 2 r.Pickup a passenger going to Multiplication Station.Go to Multiplication Station:s 1 l 2 r 4 l.Pickup a passenger going to What's The Difference.Go to What's The Difference:n 2 l 1 r 3 l.Pickup a passenger going to Addition Alley.Go to Starchild Numerology:e 1 r 3 l 2 r.1 is waiting at Starchild Numerology.63 is waiting at Starchild Numerology.Pickup a passenger going to Addition Alley.Pickup a passenger going to The Underground.Go to Addition Alley:e 1 l 2 r 3 r 1 r.Pickup a passenger going to Joyless Park.Go to Writer's Depot:n 1 l 1 l.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789- is waiting at Writer's Depot.Pickup a passenger going to Chop Suey.Go to Joyless Park:n 3 r 2 r 2 l.Go to Chop Suey:w 1 r 1 r 1 l.[b]Pickup a passenger going to Narrow Path Park.Go to Narrow Path Park:n 1 l 1 r 1 l.Go to The Underground:e 1 r.Switch to plan "c" if no one is waiting.Pickup a passenger going to The Underground.Go to Fueler Up:s.Go to Chop Suey:n 3 r 1 l.Switch to plan "b".[c]Go to Joyless Park:n 1 r.Pickup a passenger going to The Underground.Go to Narrow Path Park:w 1 r 3 l.[d]Pickup a passenger going to KonKat's.Go to KonKat's:e 1 r.Pickup a passenger going to KonKat's.Go to The Underground:s.Switch to plan "e" if no one is waiting.Pickup a passenger going to The Underground.Go to Fueler Up:s.Go to Narrow Path Park:n 4 l.Switch to plan "d".[e]Go to KonKat's:n.Pickup a passenger going to Riverview Bridge.Go to Riverview Bridge:n 1 l.Go to Narrow Path Park:e 1 l 1 r.Pickup a passenger going to Post Office.Go to Post Office:e 1 r 4 r 1 l.Go to Sunny Skies Park:s 1 r 1 l 1 r.Pickup a passenger going to The Underground.Go to The Underground:n 1 r 1 r 2 r.Switch to plan "f" if no one is waiting.Pickup a passenger going to Sunny Skies Park.Go to Sunny Skies Park:n 3 l 2 l 1 l.Switch to plan "a".[f]
Probieren Sie es online!
Taxi ist super dafür nicht gemacht aber man kann es schaffen! Ich werde versuchen zu erklären, was unter der nicht golfenen Version passiert.
Go to Post Office: west 1st left 1st right 1st left.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery: south 1st left 1st right.
Pickup a passenger going to Sunny Skies Park.
Go to Sunny Skies Park: north 1st left 1st left 1st right.
[a]
Go to Heisenberg's: north 1st right 1st right 3rd right.
Pickup a passenger going to Cyclone.
Go to Go More: north 1st left 3rd left 3rd left.
Go to Starchild Numerology: east 2nd right.
62 is waiting at Starchild Numerology.
Pickup a passenger going to Cyclone.
Go to Cyclone: east 1st left 2nd right.
Pickup a passenger going to What's The Difference.
Pickup a passenger going to Divide and Conquer.
Pickup a passenger going to Divide and Conquer.
Go to Divide and Conquer: north 2nd right 2nd right 1st right.
Pickup a passenger going to Trunkers.
Go to Trunkers: east 1st right 3rd right 1st left.
Pickup a passenger going to Multiplication Station.
Go to Cyclone: west 2nd right.
Pickup a passenger going to Multiplication Station.
Go to Multiplication Station: south 1st left 2nd right 4th left.
Pickup a passenger going to What's The Difference.
Go to What's The Difference: north 2nd left 1st right 3rd left.
Pickup a passenger going to Addition Alley.
Go to Starchild Numerology: east 1st right 3rd left 2nd right.
1 is waiting at Starchild Numerology.
63 is waiting at Starchild Numerology.
Pickup a passenger going to Addition Alley.
Pickup a passenger going to The Underground.
Go to Addition Alley: east 1st left 2nd right 3rd right 1st right.
Pickup a passenger going to Joyless Park.
Go to Writer's Depot: north 1st left 1st left.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789- is waiting at Writer's Depot.
Pickup a passenger going to Chop Suey.
Go to Joyless Park: north 3rd right 2nd right 2nd left.
Go to Chop Suey: west 1st right 1st right 1st left.
[b]
Pickup a passenger going to Narrow Path Park.
Go to Narrow Path Park: north 1st left 1st right 1st left.
Go to The Underground: east 1st right.
Switch to plan "c" if no one is waiting.
Pickup a passenger going to The Underground.
Go to Fueler Up: south.
Go to Chop Suey: north 3rd right 1st left.
Switch to plan "b".
[c]
Go to Joyless Park: north 1st right.
Pickup a passenger going to The Underground.
Go to Narrow Path Park: west 1st right 3rd left.
[d]
Pickup a passenger going to KonKat's.
Go to KonKat's: east 1st right.
Pickup a passenger going to KonKat's.
Go to The Underground: south.
Switch to plan "e" if no one is waiting.
Pickup a passenger going to The Underground.
Go to Fueler Up: south.
Go to Narrow Path Park: north 4th left.
Switch to plan "d".
[e]
Go to KonKat's: north.
Pickup a passenger going to Riverview Bridge.
Go to Riverview Bridge: north 1st left.
Go to Narrow Path Park: east 1st left 1st right.
Pickup a passenger going to Post Office.
Go to Post Office: east 1st right 4th right 1st left.
Go to Sunny Skies Park: south 1st right 1st left 1st right.
Pickup a passenger going to The Underground.
Go to The Underground: north 1st right 1st right 2nd right.
Switch to plan "f" if no one is waiting.
Pickup a passenger going to Sunny Skies Park.
Go to Sunny Skies Park: north 3rd left 2nd left 1st left.
Switch to plan "a".
[f]
Start: Get stdin
Nimm den stdin-Wert als Text, wandle ihn in eine Zahl um und klebe ihn irgendwo hin, um zu warten.
Planen Sie einen Teil 1: Holen Sie sich eine zufällige Ganzzahl 1-62
Holen Sie sich eine zufällige Ganzzahl und dann 62
als Zahl. Dupliziere sowohl die zufällige Ganzzahl als auch die, 62
weil wir sie später brauchen werden. Sie können nur drei Passagiere befördern einmal , so dass wir am Ende mit rand
, rand
und 62
. (Der andere 62
wartet, bis wir zurück sind.) Teilen Sie rand
durch 62
und kürzen Sie das Ergebnis, um eine Ganzzahl zu erhalten. Gehen Sie zurück, um die andere Kopie von zu erhalten, 62
und multiplizieren Sie sie mit der abgeschnittenen Ganzzahl aus der Division. Zuletzt subtrahieren Sie das Produkt von der ersten Kopie von rand
. Dies gibt uns eine Nummer 0-61. Jetzt müssen wir zurückgehen, um a aufzunehmen 1
und zum Ergebnis zu addieren, um eine Zahl von 1-62 zu erhalten. Ja, all diese vielen Textzeilen sind gerecht mod(rand(),62)+1
.
Planen Sie einen Teil 2: Erstellen Sie ein Array von Zeichen, aus dem Sie auswählen können. Wählen Sie
eine Zeichenfolge mit allen gültigen Zeichen und einer am Ende, die wir nicht möchten (dazu später mehr). Das, was 63
wir früher abgeholt haben, passt zu dieser Saitenlänge. Bringen Sie es zu Chop Suey, um es in einzelne Passagiere aufteilen zu lassen.
Plan B: Verschieben Sie das Array, damit wir einen Charakter
nach dem anderen auswählen können. Verschieben Sie jeden Charakter in den Narrow Path Park. Es ist der einzige verfügbare Stapel und der einzige Weg, nicht restliche Passagiere im Weg zu haben. Alles andere in Townsburg ist FIFO, also müsste ich bei jeder Wiederholung der gesamten Runde alle Passagiere räumen. Auf diese Weise kann ich sie einfach im Park lassen und sie werden jedes Mal von den 63 neuen Charakteren aus dem Weg gestoßen. Das allererste A
ist wahrscheinlich nie entkommen .
Plan C: Bereite dich auf die Auswahl eines Charakters vor
Dies sind nur ein paar Stationen, die nicht in Plan D enthalten sein mussten. Positionieren Sie das Taxi in Vorbereitung neu.
Plan D: Holen Sie sich alle Zeichen, die wir nicht wollen.
Beginnen Sie mit dem ersten Zeichen im umgekehrten "Array" (dies ist das 63. Zeichen, das wir nicht wollen) und sammeln und verketten Sie die Zeichen, während wir vom Ergebnis der mod
Funktion abwärts zählen in Plan A. Sobald Sie Null getroffen haben, ist das nächste Zeichen das gewünschte.
Plan E: Ertrinke die, die du nicht willst, und gib den Auserwählten zurück.
"[P] Assenger, die an der Riverview Bridge abgesetzt wurden, scheinen immer über die Seite und in den Fluss zu fallen ..." Nun, das wird die verkettete Reihe von Verlierern los. Nimm das nächste Zeichen und sende es an stdout. Lassen Sie uns abschließend überprüfen, wie viele Zeichen wir bisher gedruckt haben. Zurück zu Sunny Skies, um den Standardwert zu ermitteln, den wir vor langer Zeit verlassen haben. Subtrahieren Sie eins und senden Sie es zurück, um zu warten, falls das Ergebnis größer als null ist. Beginnen Sie dann erneut bei Plan A.