Taxi , 2577 byte
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]
Hãy thử trực tuyến!
Taxi là siêu không được làm cho điều này nhưng bạn có thể làm điều đó! Tôi sẽ cố gắng giải thích những gì xảy ra bên dưới phiên bản không chơi gôn.
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]
Bắt đầu: Nhận stdin
Nhặt giá trị stdin dưới dạng văn bản, chuyển đổi nó thành một số và đi đến một nơi nào đó để chờ đợi.
Kế hoạch A Phần 1: Lấy số nguyên ngẫu nhiên 1-62
Lấy số nguyên ngẫu nhiên và sau đó lấy 62
số. Sao y cả số nguyên ngẫu nhiên và 62
vì chúng ta sẽ cần chúng sau này. Bạn chỉ có thể thực hiện 3 hành khách cùng một lúc vì vậy chúng tôi kết thúc với rand
, rand
, và 62
. (The khác 62
sẽ chờ đợi xung quanh cho đến khi chúng tôi nhận lại.) Go chia rand
bằng 62
và cắt ngắn kết quả để có được một số nguyên. Quay trở lại để lấy bản sao khác 62
và nhân nó với số nguyên bị cắt từ bộ phận. Cuối cùng, trừ sản phẩm từ bản sao đầu tiên của rand
. Điều này cho chúng ta một số 0-61. Bây giờ chúng ta phải quay lại lấy a 1
và thêm nó vào kết quả để lấy số 1-62. Vâng, tất cả những dòng văn bản đó chỉ là mod(rand(),62)+1
.
Kế hoạch A Phần 2: Tạo một mảng các ký tự để chọn
Pickup một chuỗi có tất cả các ký tự hợp lệ và cũng là một ký tự ở cuối mà chúng ta không muốn (nhiều hơn về sau). Các 63
chúng tôi nhặt trận đấu sớm chiều dài chuỗi này. Mang nó đến Chop Suey để chia nó thành từng hành khách.
Kế hoạch B: Di chuyển mảng để chúng ta có thể chọn từng nhân vật
một, di chuyển mọi nhân vật đến Công viên đường dẫn hẹp. Đó là ngăn xếp duy nhất có sẵn và cách duy nhất để không có hành khách còn sót lại cản đường. Mọi thứ khác ở Townsburg là FIFO vì vậy tôi sẽ phải quay lại và dọn sạch tất cả các hành khách mỗi lần lặp lại của vòng lặp tổng thể. Bằng cách này, tôi có thể để chúng ở công viên và chúng sẽ bị đẩy ra khỏi đường bởi 63 nhân vật mới mỗi lần. Đầu tiên A
có khả năng không bao giờ thoát .
Kế hoạch C: Chuẩn bị chọn một nhân vật
Đây thực sự chỉ là một vài điểm dừng không cần có trong Kế hoạch D. Định vị lại taxi trong quá trình chuẩn bị.
Kế hoạch D: Nhận tất cả các ký tự mà chúng ta không muốn
Bắt đầu với ký tự đầu tiên trong "mảng" đảo ngược (đây là ký tự thứ 63 chúng ta không muốn), tiếp tục chọn và ghép các ký tự khi chúng ta đếm ngược từ kết quả của mod
hàm trong Kế hoạch A. Một khi bạn đạt 0, nhân vật tiếp theo là nhân vật bạn muốn.
Kế hoạch E: Đắm chìm những người bạn không muốn và trả lại cái đã chọn.
"[P] khi những người đưa tin xuống cầu Riverview dường như luôn rơi qua một bên và xuống sông ..." Chà, điều đó đã thoát khỏi chuỗi những kẻ thua cuộc nối liền đó. Đi nhặt nhân vật tiếp theo và gửi nó đến thiết bị xuất chuẩn. Cuối cùng, hãy kiểm tra xem chúng tôi đã in bao nhiêu ký tự. Quay lại với Sunny Skies để chọn giá trị stdin mà chúng ta đã để lại từ lâu. Trừ đi một và, nếu kết quả lớn hơn 0, hãy gửi lại để chờ và bắt đầu lại ở Kế hoạch A.