বিভিন্ন সুপার মারিও গেমগুলিতে সবুজ এবং লাল কোওপা ট্রুপা শেলগুলি সমতল পৃষ্ঠতলগুলিতে অবিচ্ছিন্নভাবে স্লাইড করতে পারে এবং ইটের ব্লকগুলি ধ্বংস করতে পারে their যখন কোনও শেল একটি ইটের ব্লকে আঘাত করে তখন ব্লকটি ভেঙে যায়, এটিকে ফাঁকা জায়গায় পরিণত করে এবং কোপা শেল দিকটি উল্টে দেয়। উদাহরণ হিসাবে, এখানে লাল শেলটি দেখুন ।
ধরুন একটি সুপার মারিও স্তরটি কেবলমাত্র একটি ব্লকের উঁচু এবং প্রতিটি গ্রিড সেলটি একটি ইট বা খালি স্থান, বাম দিকের কোষ ছাড়া ডানদিকে চলমান শেল রয়েছে। স্তরটিও পর্যায়ক্রমিক , সুতরাং শেলটি যদি স্তরের ডান বা বাম প্রান্তটি থেকে প্রস্থান করে তবে এটি বিপরীত দিকে আবার প্রবেশ করবে। এই পরিস্থিতিতে শেলটি আরও কিছু না পাওয়া পর্যন্ত স্তরের সমস্ত ইট ব্লকগুলি বন্ধ করে দেওয়া এবং ভাঙ্গতে থাকবে। শেষ ইটের ব্লকটি ভেঙে যাওয়ার পরে শেলটি কতদূর ভ্রমণ করবে?
চ্যালেঞ্জ
একটি প্রোগ্রাম বা ফাংশন লিখুন যা অ-নেতিবাচক দশমিক পূর্ণসংখ্যায় নিয়ে যায়। শীর্ষস্থানীয় শূন্যগুলির সাথে বাইনারিতে প্রকাশিত এই সংখ্যাটি (একমাত্র ব্যতিক্রম 0 নিজেই হয়), এক-ব্লক-উচ্চ স্তরের লেআউটকে এনকোড করে। ক 1
একটি ইটের ব্লক এবং একটি 0
খালি স্থান।
কোওপা শেলটি স্তরের একেবারে বাম প্রান্তে sertedোকানো হয় এবং প্রাথমিকভাবে ডানদিকে অগ্রসর হয়। উদাহরণস্বরূপ, ইনপুটটির সাথে সম্পর্কিত স্তরটি 39
হ'ল
>100111
কারণ 100111
বাইনারি 39, এবং >
এবং <
ডান প্রতিনিধিত্ব করেন এবং যথাক্রমে শাঁস চলন্ত ত্যাগ করেন।
একেবারে শেষ ইটের ব্লক (ওরফে 1
) নষ্ট হয়ে যাওয়ার পরে আপনাকে শেল দিয়ে ভ্রমণ করা মোট দূরত্বটি মুদ্রণ করতে বা ফিরে আসতে হবে ।
জন্য আউটপুট 39
হয় 7
এবং এই মত স্তর বর্ণন পরিবর্তন:
Level Cumulative Distance
>100111 0
<000111 0
>000110 0
0>00110 1
00>0110 2
000>110 3
000<010 3
00<0010 4
0<00010 5
<000010 6
000001< 7
000000> 7 <-- output
একইভাবে, আউটপুট 6
হল 1
:
Level Cumulative Distance
>110 0
<010 0
001< 1
000> 1 <-- output
বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
রেফারেন্স জন্য, এখানে ইনপুট জন্য আউটপুট হয় 0
থেকে 20
:
0 0
1 0
2 0
3 0
4 0
5 0
6 1
7 1
8 0
9 0
10 1
11 2
12 2
13 1
14 3
15 3
16 0
17 0
18 1
19 3
20 2