हाइड्रस को मारने में सक्षम एक कुशल योद्धा होने के बजाय ( यहां और यहां देखें ), इस बार आप एक योद्धा हैं जो जीव को मारने के लिए एक या कौन से हथियारों का उपयोग करने के लिए पूर्व ज्ञान नहीं है।
इस समस्या में, जब भी आप एक ही सिर काटते हैं, तो दो एक ही जगह बढ़ेंगे। चूंकि आपके पास एक साथ कई सिर काटने की व्यवस्था नहीं है, इसलिए सिर की संख्या केवल बढ़ेगी। इस मामले में, हमारा हाइड्रा N(एन heads 1) प्रमुखों के साथ शुरू हो सकता है । चलो पहली मुठभेड़ को एक पीढ़ी कहते हैं और हम पहली पीढ़ी से 0 के रूप में सिर का प्रतिनिधित्व करेंगे , 1 के रूप में पहला झटका के बाद बनाए गए सिर , और इसी तरह।
इनपुट
आपको एक पूर्णांक दिया जाएगा जो यह Nदर्शाता है कि शुरू में हाइड्रा के कितने सिर हैं और Nकिस सूचकांक में आकार की एक सूची है (उदाहरणों में मैं 0-अनुक्रमित प्रारूप का उपयोग करूँगा) आप एक सिर काट लेंगे। आप हमेशा मान सकते हैं कि दिए गए अनुक्रमित मान्य हैं - याद रखें कि सूची (यानी: सिर) बढ़ेगी जैसे ही आप सिर काटते हैं।
उदाहरण
इनपुट : N = 4और[0,4,2,5]
जनरेशन 0 - अटैक इंडेक्स 0
0 0 0 0 => 1 1 0 0 0
^ ^ ^
जनरेशन 1 - हमला सूचकांक 4
1 1 0 0 0 => 1 1 0 0 2 2
^ ^ ^
जेनरेशन 2 - अटैक इंडेक्स 2
1 1 0 0 2 2 => 1 1 3 3 0 2 2
^ ^ ^
जनरेशन 3 - हमला सूचकांक 5
1 1 3 3 0 2 2 => 1 1 3 3 0 4 4 2
^ ^ ^
अंतिम पीढ़ी
1 1 3 3 0 4 4 2
जैसा कि आप देख सकते हैं, दिए गए सूचकांक पिछली पीढ़ी की सूची से संबंधित हैं।
उत्पादन
आपको अंतिम पीढ़ी को आउटपुट करने की आवश्यकता है।
परीक्षण के मामलों
N = 1 and [0] => [1,1]
N = 2 and [0,0] => [2,2,1,0]
N = 2 and [0,1] => [1,2,2,0]
N = 2 and [1,0] => [2,2,1,1]
N = 2 and [1,1] => [0,2,2,1]
N = 4 and [0,4,2,5] => [1,1,3,3,0,4,4,2]
N = 6 and [0,0,0,0,0,0] => [6, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0]
N = 6 and [5,6,7,8,9,10] => [0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 6]
N = 10 and [1,7,3,12,9,0,15,2,2,10] => [6, 6, 9, 9, 8, 1, 3, 3, 0, 0, 10, 10, 2, 5, 5, 0, 0, 4, 7, 7]
यह कोड-गोल्फ है तो बाइट्स जीत में सबसे कम जवाब!
N(...) और आकार की एक सूची दी जाएगीN (लेकिन जब मैंने पहली बार पढ़ा तो मुझे वह हिस्सा याद नहीं आया। चुनौती।) इसलिए, Nबस बेकार है।
Nमें इनपुट से हटाने के बारे में सोचा क्योंकि यह सरणी के आकार के रूप में दिया गया है। हालाँकि, मैंने सोचा कि समाधान बाइट्स को बचाने के Nबजाय उन पर array.size()या इसी तरह से भरोसा करेंगे ।