অ্যালিস এবং বব একটি কার্ড গেম খেলতে পছন্দ করেন, একটানা ননেনিজেটিভ পূর্ণসংখ্যার সাথে কার্ডের ডেকে নিয়ে।
যদিও অ্যালিসের ডেক বদলানোর খুব একটা বিশেষ উপায় রয়েছে। প্রথমে, তিনি ডেক থেকে শীর্ষ কার্ডটি নিয়ে ডেকে নীচে রাখে। তারপরে সে পরের কার্ডটি সরিয়ে দেয় এবং এটি দিয়ে একটি স্তূপ শুরু করে। তারপরে, তিনি আবার শীর্ষ কার্ডটি নীচে চক্র করে এবং নতুন শীর্ষ কার্ডটি স্তূপের উপরে রাখে। তিনি ডেকটি খালি না করা পর্যন্ত এই প্রক্রিয়াটি পুনরাবৃত্তি করে, যেখানে পাইলটি নতুন ডেক।
deck | pile
-----------+-----------
3 1 4 0 2 |
1 4 0 2 3 |
4 0 2 3 | 1
0 2 3 4 | 1
2 3 4 | 0 1
3 4 2 | 0 1
4 2 | 3 0 1
2 4 | 3 0 1
4 | 2 3 0 1
| 4 2 3 0 1
4 2 3 0 1 |
চিত্র 1: অ্যালিস 5-কার্ড ডেক "3, 1, 4, 0, 2" এ তার সাফল্য সম্পাদন করে। কার্ডগুলির পিছনে সমস্ত বাম মুখোমুখি।
একদিন, বব ঘোষণা করলেন যে তিনি এক সপ্তাহের ছুটি নিচ্ছেন। অ্যালিস, যার সাথে এই গেমটি খেলতে না পেয়ে তার বন্ধু ইভটিকে তালিকাভুক্ত করে। এখন, ইভটি একজন নির্লজ্জ প্রতারক, সুতরাং যখন সে অ্যালিসের অদ্ভুত রদবদল দেখে, বুঝতে পারে যে সে তার সুবিধার আগেই ডেকটি স্ট্যাক করতে পারে!
প্রথম দিনের পরে যখন ইভটি বাড়িতে ফিরে আসে, তখন সে গেমটি সম্পর্কে কিছু বিশ্লেষণ করে এবং কার্ডগুলি 0, 1, 2, 3, 4, 5, ক্রম অনুসারে যখন তার সেরা প্রতিক্রিয়াগুলি দেখায় সে ... ডেকে কতগুলি কার্ড ছিল তা ধরুন, যদিও, তিনি তার বাহুতে কিছু কোড লেখার জন্য একটি হর্রেব্রাইনড স্কিমটি টানেন যা চালানোর সময় ডেকের আকার নেয় এবং ইভটি কার্ডগুলি রাখার জন্য আদেশটি প্রদর্শন করে, যাতে যখন অ্যালিস ডেক পরিবর্তন করে, চূড়ান্ত ডেক 0, 1, 2, 3, ক্রম হয় ...
কোড হ'ল কোডটি কী ভাষাতে রয়েছে সে বিষয়ে সে আসলেই কিছু যায় আসে না (সে তাদের সকলকেই জানে), বা কোড কোনও ক্রিয়াকলাপ কিনা কোনও পূর্ণসংখ্যার যুক্তি গ্রহণ করে এবং একটি অ্যারে ফিরিয়ে দেয়, বা কোনও কমান্ড লাইন আর্গুমেন্ট বা এসটিডিআইএন-এর মাধ্যমে ইনপুট গ্রহণকারী একটি সম্পূর্ণ প্রোগ্রাম এবং ফলাফল STDOUT লিখছি। অ্যালিসের এটি দেখার এবং তাকে ধরার সম্ভাবনা হ্রাস করার জন্য, যত তাড়াতাড়ি সংক্ষেপে কোডটি তার দরকার ছিল।
অনৈতিক হিসাবে এটি হতে পারে, আপনি ছেলেরা ইভকে সাহায্য করতে পারেন?
ইনপুট এবং আউটপুট উদাহরণ:
in out
1 0
2 0 1
5 2 4 0 3 1
10 2 9 4 8 0 7 3 6 1 5
52 6 51 25 50 12 49 24 48 1 47 23 46 11 45 22 44 5 43 21 42 10 41 20 40 2 39 19
38 9 37 18 36 4 35 17 34 8 33 16 32 0 31 15 30 7 29 14 28 3 27 13 26
shuffle(shuffle(range(5))) == range(5)
...