Taxi , 2577 octets
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]
Essayez-le en ligne!
Taxi est super pas fait pour cela , mais vous pouvez le faire! Je vais essayer d'expliquer ce qui se passe sous la version non-golfée.
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]
Démarrer: obtenir stdin Récupérez
la valeur stdin sous forme de texte, convertissez-la en nombre et placez-la quelque part pour attendre.
Plan A Partie 1: Obtenez un entier aléatoire 1-62
Obtenez un entier aléatoire, puis obtenez 62
un nombre. Dupliquez à la fois l'entier aléatoire et le 62
car nous en aurons besoin plus tard. Vous ne pouvez transporter 3 passagers à la fois si nous nous retrouvons avec rand
, rand
et 62
. (L'autre 62
attendra jusqu'à ce que nous revenions.) Allez diviser rand
par 62
et tronquer le résultat pour obtenir un entier. Revenez en arrière pour obtenir l'autre copie de 62
et multipliez-la par l'entier tronqué de la division. Enfin, soustrayez le produit de la première copie de rand
. Cela nous donne un nombre 0-61. Maintenant, nous devons revenir à ramasser un 1
et l'ajouter au résultat pour obtenir un numéro 1-62. Oui, toutes ces nombreuses lignes de texte sont justes mod(rand(),62)+1
.
Plan A Partie 2: Créez un tableau de caractères parmi lesquels choisir
Pickup une chaîne avec tous les caractères valides et aussi un à la fin que nous ne voulons pas (plus à ce sujet plus tard). Le 63
nous avons ramassé plus tôt correspond à cette longueur de chaîne. Apportez-le à Chop Suey pour qu'il soit divisé en passagers individuels.
Plan B: déplacez le tableau afin que nous puissions sélectionner un personnage
un par un, déplacez chaque personnage vers Narrow Path Park. C'est la seule pile disponible et la seule façon de ne pas avoir de passagers restants. Tout le reste à Townsburg est FIFO, donc je devrais revenir en arrière et effacer tous les passagers à chaque itération de la boucle globale. De cette façon, je peux simplement les laisser au parc et ils seront à chaque fois repoussés par les 63 nouveaux personnages. Le tout premier A
ne risque jamais de s'échapper .
Plan C: Préparez-vous à sélectionner un personnage
Ce ne sont vraiment que quelques arrêts qui n'avaient pas besoin d'être dans le plan D. Remettez le taxi en préparation.
Plan D: Obtenez tous les caractères dont nous ne voulons pas
En commençant par le premier caractère du "tableau" inversé (c'est le 63e caractère que nous ne voulons pas), continuez à ramasser et à concaténer les caractères pendant le décompte du résultat de la mod
fonction dans le plan A. Une fois que vous avez atteint zéro, le caractère suivant est celui que vous voulez.
Plan E: Noyez ceux que vous ne voulez pas et retournez celui que vous avez choisi.
"Les assaillants [P] déposés à Riverview Bridge semblent toujours tomber sur le côté et dans la rivière ..." Eh bien, cela élimine cette chaîne de perdants concaténés. Allez chercher le personnage suivant et envoyez-le à stdout. Enfin, vérifions le nombre de caractères que nous avons imprimés jusqu'à présent. Revenons à Sunny Skies pour récupérer la valeur stdin que nous avons laissée il y a si longtemps. Soustrayez un et, si le résultat est supérieur à zéro, renvoyez-le pour attendre et recommencer au plan A.