स्टिकस्टैक केवल दो निर्देशों के साथ एक बहुत ही सरल स्टैक-आधारित प्रोग्रामिंग भाषा है:
|
स्टैक पर स्टैक की लंबाई को धक्का देता है-
स्टैक से शीर्ष दो तत्वों को निकालता है और उनके अंतर को वापस धकेलता है (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]
अपने स्टिकस्टैक कोड का मूल्यांकन करने के लिए आप इस ऑनलाइन (CJam) मूल्यांकनकर्ता का उपयोग कर सकते हैं । (कोड के लिए @ मर्टिन के लिए धन्यवाद।)
काम
आपको एक प्रोग्राम या फ़ंक्शन लिखना चाहिए जो इनपुट आउटपुट के रूप में एक पूर्णांक संख्या देता है या एक स्टिकैक प्रोग्राम का प्रतिनिधित्व करने वाला स्ट्रिंग देता है जो दिए गए नंबर को आउटपुट करता है।
स्कोरिंग
- आपका प्राथमिक स्कोर नीचे दिए गए परीक्षण मामलों के लिए स्टिकस्टैक कार्यक्रमों की कुल लंबाई है । लोअर स्कोर बेहतर है।
- आपका सबमिशन तभी मान्य होता है जब आप सभी प्रोग्राम मामलों पर अपना प्रोग्राम चलाते हैं और अपना स्कोर गिनाते हैं।
- आपका द्वितीयक (टाईब्रेकर) स्कोर आपके निर्माण कार्यक्रम या कार्य की लंबाई है।
इनपुट परीक्षण के मामले
(प्रत्येक संख्या एक अलग परीक्षण मामला है।)
-8607 -6615 -6439 -4596 -4195 -1285 -72 12 254 1331 3366 3956 5075 5518 5971 7184 7639 8630 9201 9730
आपका प्रोग्राम किसी भी पूर्णांक (जो आपके डेटा-प्रकार को संभाल सकता है) के लिए काम करना चाहिए न कि दिए गए परीक्षण मामलों के लिए। परीक्षण संख्याओं के समाधान को आपके प्रोग्राम में हार्डकोड नहीं किया जाना चाहिए। यदि हार्डकॉडिंग का संदेह होगा, तो परीक्षण संख्या बदल दी जाएगी।