Таксі , 2577 байт
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]
Спробуйте в Інтернеті!
Таксі супер не для цього , але ви можете це зробити! Я спробую пояснити, що відбувається нижче версії, що не має гольфу.
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]
Початок: Отримати stdin
Підберіть значення stdin у вигляді тексту, перетворіть його на число та перейдіть його кудись, щоб зачекати.
План 1 частини: Отримайте випадкове ціле число 1-62
Отримайте випадкове ціле число, а потім отримайте 62
як число. Дублювати як випадкові цілі числа, так і ті, 62
тому що вони нам знадобляться згодом. Ви можете нести тільки 3 пасажирів відразу , щоб ми в кінцевому підсумку rand
, rand
і 62
. (Інший 62
буде чекати, поки ми не повернемося.) Перейдіть поділити rand
на 62
і обріжте результат, щоб отримати ціле число. Поверніться, щоб отримати іншу копію 62
та помножити її на усічене ціле число з поділу. Нарешті, віднімаємо твір від першої копії rand
. Це дає нам число 0-61. Тепер нам слід повернутися до пікапа a 1
і додати його до результату, щоб отримати число 1-62. Так, усі ці багато рядків тексту просто mod(rand(),62)+1
.
Планування Частина 2: Створіть масив символів, з якого слід вибрати
рядок з усіма допустимими символами, а також один у кінці, який ми не хочемо (докладніше про це пізніше). 63
Ми зібрали більш ранні матчі цього рядка довжиною. Візьміть його до Chop Suey, щоб він розбився на окремих пасажирів.
План В: Перемістіть масив, щоб ми могли вибрати персонажа
один за одним, перенести кожного персонажа до Вузького парку шляху. Це єдиний доступний стек і єдиний спосіб не перешкоджати залишившись пасажирам. Все інше в Таунсбурзі - FIFO, тому мені доведеться повертатися назад та очищати всіх пасажирів від кожної ітерації загального циклу. Таким чином, я можу просто залишити їх у парку, і вони щоразу відштовхуватимуться від 63 нових персонажів. Найперший A
, ймовірно, ніколи не втече .
План C: Підготуйтеся до вибору персонажа
Це дійсно лише кілька зупинок, які не потребували плану D. Перестановка таксі під час підготовки.
План D: Отримати всіх символів, яких ми не хочемо
Починаючи з першого символу у зворотному масиві (це 63-й символ, який ми не хочемо), продовжуйте підбирати та об'єднувати символи, коли ми відраховуємо результат від mod
функції у Плані А. Після того, як ви натиснете нуль, наступним символом буде той, який ви хочете.
План Е: Потопіть тих, кого не хочете, і поверніть обраного.
"[P] з'їзди, що випали на мосту Riverview, здається, завжди падають через бік і в річку ..." Ну, це позбавляється від цієї згуртованої струни невдахи. Ідіть, підберіть наступного символу і відправте його в stdout. Нарешті, давайте перевіримо, скільки символів ми надрукували до цього часу. Назад до Сонячного Неба, щоб зібрати значення stdin, яке ми залишили так давно. Відніміть один і, якщо результат більше нуля, відправте його назад, щоб зачекати, і почніть заново на Плані А.