प्रेरणा स्त्रोत
यह प्रश्न कार्डों के सिंहासन कक्ष और किंग्स कोर्ट द्वारा लोकप्रिय डेक-बिल्डिंग कार्ड गेम डोमिनियन से प्रेरित है ।

अपनी बारी के हिस्से के रूप में, एक क्रिया का क्रम निभाता है। ये दो विशेष क्रियाएं दो-तीन बार * दोहराने वाली अगली-क्रिया का कारण बनती हैं। अन्य "जेनेरिक" कार्यों के कारण विशिष्ट खेल प्रभाव होते हैं, लेकिन हम विशेष रूप से पत्रों के साथ उन्हें लेबल करने में दिलचस्पी नहीं लेंगे।
दिलचस्प मामला यह है कि जब एक सिंहासन कक्ष या राजा का दरबार राजा के दरबार के एक अन्य सिंहासन कक्ष को प्रभावित करता है, जिससे दोहरीकरण या ट्रिपलिंग का प्रभाव स्वयं दोगुना या तिगुना हो जाता है। सिंहासन कक्ष, किंग कोर्ट्स और गुणा कार्यों की लंबी श्रृंखला भी अनुभवी डोमिनियन खिलाड़ियों को भ्रमित कर सकती है।
आपका लक्ष्य कोड लिखना है जो इन जंजीरों को सही ढंग से हल करता है, संभव के रूप में कुछ बाइट्स का उपयोग करके। डोमिनियन नियमों में चेन कैसे हल करते हैं, यह समझाने से पहले मैं कार्यक्रम की आवश्यकताओं का वर्णन करूँगा।
* तकनीकी रूप से, आप थ्रोन रूम या किंग्स कोर्ट के समाधान के हिस्से के रूप में प्रभावित कार्रवाई का चयन करते हैं, लेकिन यह दृश्य इस चुनौती के लिए क्लीनर है।
कार्यक्रम की आवश्यकताएँ
कोई प्रोग्राम या नामांकित फ़ंक्शन लिखें । इसे खेले जाने वाले कार्यों (एसटीडीआईएन या फ़ंक्शन इनपुट) की श्रृंखला में ले जाना चाहिए, और दोहरीकरण और ट्रिपलिंग के प्रभावों से परिणामी श्रृंखला को प्रिंट करना चाहिए। सबसे कम बाइट्स जीतता है।
इनपुट
निभाई जाने वाली क्रियाओं के अनुक्रम का प्रतिनिधित्व करने वाला एक तार। सामान्य क्रियाओं का प्रतिनिधित्व बड़े अक्षरों द्वारा किया Aजाता है Z। विशेष दोहरीकरण कार्रवाई सिंहासन कक्ष को चरित्र द्वारा दर्शाया गया है 2, और राजा की अदालत द्वारा ट्रिपलिंग कार्रवाई 3,
वर्णों (क्रियाओं) की संख्या 1 और 30 के बीच होगी, समावेशी। यदि आप चाहें तो एक नई पंक्ति में इनपुट अंत हो सकता है।
उदाहरण इनपुट: WA23G3GA
उत्पादन
बड़े अक्षरों का एक स्ट्रिंग Aके लिए Z। यह सामान्य क्रियाओं का अनुक्रम होना चाहिए, जो कि होने वाले क्रम में दोहरीकरण और ट्रिपलिंग प्रभावों को हल करने के परिणामस्वरूप होता है।
यदि आप चाहें तो आउटपुट का अंत एक नई पंक्ति में हो सकता है। अन्यथा कोई अतिरिक्त वर्ण नहीं होना चाहिए।
उदाहरण आउटपुट: WAGGGGGGAAA।
डोमिनियन में दोहरीकरण और ट्रिपलिंग कैसे काम करता है
यहाँ, मैं सिंहासन के नियमों के अनुसार सिंहासन कक्ष ( 2's' और 'किंग्स कोर्ट्स 3') की श्रृंखलाओं के माध्यम से जाऊँगा ।
आपके द्वारा खेलने के बाद 2, हल की जाने वाली अगली क्रिया दो बार होती है। इसलिए, यदि आप पहली बार खेलते हैं 2, तो A, आप Aदो बार हो रहे हैं।
2A -> AA
इसी तरह,
A2BC -> ABBC
3DE -> DDDE
3N2BC3XY2 -> NNNBBCXXXY
अंतिम उदाहरण में ध्यान दें कि फाइनल 2में दोगुना कुछ भी नहीं था, इसलिए इसका कोई प्रभाव नहीं था।
दिलचस्प बात तब होती है जब दोहरीकरण या ट्रिपलिंग प्रभाव खुद दोगुना या तिगुना हो जाता है। उदाहरण के लिए,
22AB -> AABB
सबसे पहले, आप खेलते हैं 2। फिर, आप एक और खेलते हैं 2, जो पिछले से दोगुना है 2। नतीजतन, अगले दो कार्यों को दोगुना कर दिया जाता है। सबसे पहले, Aसंकल्प की दो प्रतियां । फिर, Bसंकल्प की प्रतियां ।
ध्यान दें कि Aचौगुना नहीं है: पहले 2पर कृत्यों की पहली प्रति के बाद A, अगली प्रतिलिपि अगले अनसुलझे क्रिया पर कार्य करती है, जो कि है B। बिना B, हमारे पास होगा
22A -> AA
जहां की दूसरी प्रति 2अगली कार्रवाई के दोगुने होने की प्रतीक्षा कर रही है, लेकिन कोई कार्रवाई नहीं होती है।
अंत में, आइए एक जटिल उदाहरण देखें।
223BCDE -> BBBCCCDDE
पहले की तरह, पहला 2कारण दूसरे 2को दोगुना करना है। इसलिए, अगले दो कार्यों को दोगुना किया जाएगा। 2अगली क्रिया की पहली प्रति दोगुनी हो जाती है 3, जिसे अगली प्रति को हल करने से पहले पूरी तरह से हल किया जाना चाहिए 2। 3त्रिगुणों की पहली प्रति Bऔर दूसरी प्रति त्रिगुण C। अब, अभी भी इंतज़ार कर रही दूसरी प्रतिलिपि 2अगले अभी भी-अनसुलझे कार्रवाई को दोगुना करती है, जो है D। इसके बाद, कोई भी दोहरीकरण या ट्रिपलिंग प्रभाव नहीं रहता है, और अंतिम क्रिया Eबस होती है।
परीक्षण के मामलों
इन्हें इस प्रकार दिया गया है (input,output)।
(FY, FY)
(A2BC, ABBC)
(3DE, DDDE)
(3N2BC3XY2, NNNBBCXXXY)
(WA23G3GA, WAGGGGGGAAA)
(32, )
(33RST, RRRSSSTTT)
(2A32B2CDEFG, AABBCCDDEEFG)
(A2A323AB2CD2D2E3ABC, AAAAAABBBCCDDDDEEAAABBBC)
(P22LL3Q2Q22T, PLLLLQQQQQTT)
(322322ABCDEFGHIJKLMN, AABBCCDDEEEFFGGHHIJKLMN)
1ढेर के नीचे धकेलने की अपनी चाल को अन-गुणा क्रियाओं के समान गुणा गुणकों के समान मानता हूं । क्या आप कृपया इस बारे में अधिक बता सकते हैं कि आपने विभिन्न ढेरों को कैसे किया? विशेष रूप से, \ "रेप स्टैक को शीर्ष पर लाने" के लिए क्या करता है?