আমি নিশ্চিত যে কাপগুলি পিরামিডগুলিতে (এবং অন্যান্য আকার) স্ট্যাক করার আগে সকলেই দেখে ফেলেছে:
A
A A A
A A A A A
A A A A A A A A
হ্যাঁ, A
অবশ্যই কাপের প্রতিনিধিত্ব করার জন্য পর্যাপ্ত চরিত্র।
নতুন কাপগুলি জমির উপর, কাঠামোর ডানদিকে বা দুটি সংলগ্ন কাপের শীর্ষে যুক্ত করা যেতে পারে। এখানে আবার উপরের কাঠামোটি দেওয়া হয়েছে, তবে নতুন কাপগুলির জন্য সমস্ত উপলব্ধ স্পটগুলি এটির সাথে চিহ্নিত রয়েছে _
:
_ A
A A A
A _ _ A A A A
A A A A A A A A _ _ _
ধরা যাক আমরা এমন একটি রোবট তৈরি করতে চাই যা এই কাপ স্ট্যাকগুলিকে একত্রিত করতে পারে। রোবট এ জাতীয় কাঠামোটি পরিচালনা করার জন্য দুটি সহজ নির্দেশনা বুঝতে পারে:
a
: বাম থেকে ডান পাঠের ক্রমে প্রথম উপলব্ধ স্পটে একটি নতুন কাপ যুক্ত করুন (যা আপনি কোনও উপলভ্য জায়গা খুঁজে না পাওয়া পর্যন্ত উপরে থেকে নীচে, বাম থেকে ডানে সারিগুলি স্ক্যান করুন) তারপরে কাপটি সেখানে রাখুন)। উপরের উদাহরণটি হয়ে উঠবে:A A A A A A A A A A A A A A A A A A
r
: প্রথম কাপটি বাম থেকে ডান পাঠের ক্রমে সরিয়ে ফেলুন। উপরের উদাহরণটি হয়ে উঠবে:A A A A A A A A A A A A A A A A
দেখা যাচ্ছে যে কেবলমাত্র এই দুটি অপারেশন ব্যবহার করে কোনও কাঠামো স্ক্র্যাচ থেকে তৈরি করা যেতে পারে। যেমন
A
A A A
A A A A A
নির্দেশের ক্রম দিয়ে নির্মিত যেতে পারে
aaaaaaaaaaaarrrrraa
উপরের আরও বড় উদাহরণ ব্যবহার করে নির্মিত যেতে পারে
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrraaaaaaarr
এখানে আরও বড় একটি:
A
A A A
A A A A A A A
A A A A A A A A A A A A
A A A A A A A A A A A A A A A
যা দিয়ে নির্মিত যেতে পারে
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrraaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrraaaaaaaaaaaaaarrrrrrrrrrraaaaaaaa
দ্রষ্টব্য: যদি স্থলভাগের দাগগুলি অপসারণের নির্দেশ দিয়ে মুক্ত করা হয় তবে সমস্ত বিদ্যমান কাপের ডানদিকে কাপ রাখার আগে সেগুলি পুনরায় ব্যবহার করা হবে । যেমন
aaaarrra
ফলন হবে
A A
না
A A
আপনি এক কাপ আধা সীমাহীন সারি শীর্ষে স্থলটিকে ভাবতে পারেন।
চ্যালেঞ্জ
স্ট্যাকড কাপগুলির একটি কাঠামো দেওয়া, এই কাঠামোটি তৈরির নির্দেশিকাগুলি উপস্থাপন করে একটি ক্রম ফিরিয়ে দিন। আপনার প্রাথমিক স্কোরটি নীচে সরবরাহ করা পরীক্ষাগুলির জন্য নির্দেশাবলীর সংখ্যার যোগফল। টাই হওয়ার ক্ষেত্রে (যা সম্ভবত, কারণ আমি নিশ্চিত যে একটি কার্যকর অনুকূল সমাধান সম্ভব), সংক্ষিপ্ততম সমাধানটি জয়লাভ করে।
বিধি সম্পর্কে আরও কিছু বিশদ এখানে:
- আপনি ধরে নিতে পারেন যে ইনপুটটির নীচের সারিতে কোনও শীর্ষস্থান নেই, সুতরাং একটি কাপের জন্য বাম-সর্বাধিক স্থলটি সর্বদা ব্যবহার করা উচিত।
- আপনি চলমান স্থানগুলির কোনও যুক্তিসঙ্গত পরিমাণ ধরে নিতে পারেন (কোনও স্থান নয়, একটি স্পেস, একটি আয়তক্ষেত্রকে প্যাড করা, একটি একক চলমান স্থানের সাথে একটি আয়তক্ষেত্রকে প্যাড করা)।
- আপনি বিকল্পভাবে ইনপুটটি একক পেছনের নতুন লাইনে শেষ হতে পারে বলে আশা করতে পারেন।
- আপনি
A
স্থান এবং স্পেসগুলির পরিবর্তে (স্পেস সম্পর্কে নিয়মগুলি আপনার পছন্দসই অক্ষরে স্থানান্তরিত করুন ) পরিবর্তে যে কোনও দুটি পৃথক মুদ্রণযোগ্য ASCII অক্ষর (0x20 থেকে 0x7E, সমেত) চয়ন করতে পারেন। - আপনার আউটপুট থাকা উচিত শুধুমাত্র দুটি স্বতন্ত্র অপারেশন প্রতিনিধিত্বমূলক অক্ষর (আপনি ছাড়া অন্য অক্ষর চয়ন করতে পারেন
a
এবংr
)। আপনি allyচ্ছিকভাবে একটি একক পেছনের নতুন লাইন মুদ্রণ করতে পারেন। - আপনার কোডটি অবশ্যই কোনও যুক্তিসঙ্গত ডেস্কটপ পিসিতে এক মিনিটেরও কম সময়ের মধ্যে পরীক্ষার যে কোনও সমস্যা সমাধান করতে সক্ষম হবে (যদি এটি আমার পক্ষে দুই মিনিট সময় নেয় তবে আমি আপনাকে সন্দেহের সুবিধাটি দেব, তবে এটি যদি দশে লাগে তবে আমি জিতেছি 'টি - আমি বিশ্বাস করি যে একটি অনুকূল অ্যালগরিদম সম্ভব যা তাদের কোনওটিকেই এক সেকেন্ডেরও কম সময়ে সমাধান করে))
- স্বতন্ত্র পরীক্ষার ক্ষেত্রে আপনার কোডটি অবশ্যই অপ্টিমাইজ করা উচিত নয় (যেমন তাদের হার্ডকোড করে)। আমি যদি কারও এমনটি করতে সন্দেহ করি তবে আমি পরীক্ষার কেসগুলি পরিবর্তনের অধিকার সংরক্ষণ করি।
বিপরীত ক্রিয়াকলাপের জন্য আপনি এই সিজে্যাম স্ক্রিপ্টটি ব্যবহার করতে পারেন : এটি বিল্ডিং নির্দেশাবলীর একটি স্ট্রিং নেবে এবং ফলস্বরূপ কাপের স্ট্যাকটি মুদ্রণ করবে। (স্নিপেটটি পুনরায় লেখার জন্য এবং এটির তাত্পর্যপূর্ণভাবে গতি বাড়ানোর জন্য ডেনিসকে ধন্যবাদ))
এসপি 3000 একই উদ্দেশ্যে এই বিকল্প পাইথন স্ক্রিপ্টটি দয়া করে সরবরাহ করেছিলেন।
পরীক্ষার মামলা
প্রতিটি পরীক্ষার কেসের পরে, এল এর উত্তর অনুসারে নির্দেশের অনুকূল সংখ্যা নির্দেশ করে এমন একটি সংখ্যা রয়েছে।
A
A A
A A A
A A A A
A A A A A
A A A A A A
A A A A A A A
A A A A A A A A
A A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A A
A A A A A A A A A A A A
A A A A A A A A A A A A A
A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
820
A
A A
A A A
A A A A
A A A A A
A A A A A A
A A A A A A A
A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A A A
A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
1946
A
A A
A A A
A A A A
A A A A A
A A A A A A
A A A A A A A
A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A A A
A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
2252
A A
A A A A
A A A A A A
A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A A A
A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
9958
A A
A A A A
A A A A A A
A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A A A
A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
5540
A A A A A A A A A A A A A A A A A A A A
10280
A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
10320
A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
5794
A
A A
A A A
A A A A A
A A A A A A A
A A A A A A A A A A
A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
3297
A A
A A A
A A A A
A A A A A
A A A A A A
A A A A A A A
A A A A A A A A
A A A A A A A A A
A A A A A A A A A A A
A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
4081
A
A A A A
A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
4475
A
A A A A A A A A
A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
5752
তার মানে, সর্বোত্তম সম্ভাব্য স্কোর হল 64,515 নির্দেশাবলী।