मुझे यकीन है कि सभी ने देखा है कि इससे पहले कि कपों को पिरामिड (और अन्य आकार) में ढेर किया जा सकता है:
A
A A A
A A A A A
A A A A A A A A
हां, A
कप का प्रतिनिधित्व करने के लिए निश्चित रूप से एक पर्याप्त चरित्र है।
नए कप या तो जमीन पर, संरचना के दाईं ओर या दो आसन्न कप के ऊपर जोड़े जा सकते हैं। यहां उपरोक्त संरचना फिर से है, लेकिन नए कप के लिए सभी उपलब्ध स्पॉट _
निम्न के साथ चिह्नित हैं :
_ A
A A A
A _ _ A A A A
A A A 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
)। आप वैकल्पिक रूप से एक एकल अनुगामी न्यूलाइन प्रिंट कर सकते हैं। - आपका कोड उचित डेस्कटॉप पीसी पर एक मिनट से भी कम समय में नीचे दिए गए किसी भी परीक्षण के मामलों को हल करने में सक्षम होना चाहिए (यदि यह मेरा दो मिनट लेता है, तो मैं आपको संदेह का लाभ दूंगा, लेकिन अगर यह दस लेता है तो मैं जीत गया 't - मेरा मानना है कि एक इष्टतम एल्गोरिथ्म संभव है जो उनमें से किसी को भी एक सेकंड से भी कम समय में हल करता है)।
- आपको अलग-अलग परीक्षण मामलों के लिए अपने कोड का अनुकूलन नहीं करना चाहिए (उदाहरण के लिए उन्हें हार्डकोड करके)। यदि मुझे ऐसा करने में किसी पर संदेह है, तो मैं परीक्षण मामलों को बदलने का अधिकार सुरक्षित रखता हूं।
आप इस CJam स्क्रिप्ट को रिवर्स ऑपरेशन के लिए उपयोग कर सकते हैं : यह बिल्डिंग निर्देशों का एक तार लेगा और कप के परिणामस्वरूप स्टैक को प्रिंट करेगा। (स्निपेट को फिर से लिखने और इसे तेज करने के लिए डेनिस के लिए धन्यवाद।)
Sp3000 ने इसी उद्देश्य के लिए कृपया इस वैकल्पिक पायथन लिपि को भी प्रदान किया ।
परीक्षण के मामलों
प्रत्येक परीक्षण मामले के बाद, एल के उत्तर के अनुसार निर्देशों की इष्टतम संख्या का संकेत करने वाला एक नंबर होता है।
A
A A
A A A
A A A A
A A A A A
A A A A A A
A A A A A A A
A A A A A A A A
A A A A A A A A A
A A A A A A A A A A
A A A A A A A A A A A
A A A A A A A A A A A A
A A A A A A A A A A A A A
A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A A A A A A A A A A A A A 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 निर्देश है।