স্টিকস্ট্যাক একটি খুব সাধারণ স্ট্যাক-ভিত্তিক প্রোগ্রামিং ভাষা যা কেবল দুটি নির্দেশাবলীর সাথে:
|
স্ট্যাকের উপরে স্ট্যাকের দৈর্ঘ্যটি ঠেলা দেয়-
স্ট্যাক থেকে শীর্ষ দুটি উপাদান পপ করে এবং তাদের পার্থক্যটি পুশ করে (second topmost - topmost
)
ভাষার বিবরণ
- প্রোগ্রামটির শুরুতে স্ট্যাকটি খালি।
- সমস্ত নির্দেশাবলী বাম থেকে ডানে ক্রমান্বয়ে সম্পাদিত হয়।
- স্ট্যাকের 2 টিরও কম সংখ্যক থাকলে
-
নির্দেশনাটি অবৈধ। - সম্পাদন শেষে স্ট্যাকের ঠিক এক নম্বর থাকা উচিত ।
যে কোনও পূর্ণসংখ্যা স্টিকস্ট্যাক প্রোগ্রাম দ্বারা উত্পন্ন করা যেতে পারে। উদাহরণ স্বরূপ:
|||--||-- generates the number 2 through the following stack states:
[]
[0]
[0, 1]
[0, 1, 2]
[0, -1]
[1]
[1, 1]
[1, 1, 2]
[1, -1]
[2]
আপনার স্টিকস্ট্যাক কোডটি মূল্যায়নের জন্য আপনি এই অনলাইন (সিজেএম) মূল্যায়নকারী ব্যবহার করতে পারেন । (কোডের জন্য @ মার্টিনের জন্য ধন্যবাদ।)
কাজটি
আপনার এমন একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা ইনপুট আউটপুট হিসাবে একটি পূর্ণসংখ্যার নম্বর দেয় বা একটি স্টিকস্ট্যাক প্রোগ্রাম উপস্থাপন করে এমন স্ট্রিং দেয় যা প্রদত্ত সংখ্যাটিকে আউটপুট করে।
স্কোরিং
- আপনার প্রাথমিক স্কোরটি নীচে প্রদত্ত পরীক্ষার ক্ষেত্রে স্টিকস্ট্যাক প্রোগ্রামগুলির মোট দৈর্ঘ্য । লো স্কোর আরও ভাল।
- আপনি যদি সমস্ত পরীক্ষার ক্ষেত্রে আপনার প্রোগ্রাম চালিয়ে যান এবং আপনার স্কোর গণনা করেন তবেই আপনার জমা দেওয়া বৈধ।
- আপনার গৌণ (টাইব্রেকার) স্কোরটি আপনার উত্পাদন প্রোগ্রাম বা ফাংশনের দৈর্ঘ্য।
ইনপুট পরীক্ষার মামলা
(প্রতিটি সংখ্যা পৃথক পরীক্ষার কেস)
-8607 -6615 -6439 -4596 -4195 -1285 -72 12 254 1331 3366 3956 5075 5518 5971 7184 7639 8630 9201 9730
আপনার প্রোগ্রামটি কেবলমাত্র প্রদত্ত পরীক্ষার ক্ষেত্রে নয় যে কোনও পূর্ণসংখ্যার (যা আপনার ডেটা-টাইপ হ্যান্ডেল করতে পারে) কাজ করে। পরীক্ষার নম্বরগুলির সমাধানগুলি আপনার প্রোগ্রামটিতে হার্ডকোড করা উচিত নয়। হার্ডকডিংয়ের সন্দেহ থাকলে পরীক্ষার নম্বর পরিবর্তন করা হবে।