एक यात्री को शहर के बाहर एक होटल में n दिनों तक रुकना पड़ता है। वह नकदी से बाहर है और उसका क्रेडिट कार्ड समाप्त हो गया है। लेकिन उसके पास n लिंक वाली सोने की चेन है ।
इस होटल में नियम यह है कि निवासियों को हर सुबह अपना किराया देना चाहिए। यात्री प्रत्येक दिन के लिए गोल्डन चेन की एक लिंक का भुगतान करने के लिए प्रबंधक के साथ एक समझौते पर आता है। लेकिन प्रबंधक यह भी मांग करता है कि यात्री को हर दिन भुगतान करते समय श्रृंखला को कम से कम संभव नुकसान हो। दूसरे शब्दों में, उसे यथासंभव कुछ लिंक काटने के लिए एक समाधान के साथ आना होगा।
एक लिंक को काटने से तीन उपचिन बनते हैं: एक जिसमें केवल कट लिंक होता है, और प्रत्येक तरफ एक। उदाहरण के लिए, लंबाई 8 की श्रृंखला की तीसरी कड़ी को काटने से लंबाई के उपचिन पैदा होते हैं [2, 1, 5]। प्रबंधक परिवर्तन करने के लिए खुश है, इसलिए यात्री पहले दिन का भुगतान लंबाई 1 की श्रृंखला के साथ कर सकता है, फिर दूसरे दिन लंबाई 2 की श्रृंखला के साथ, पहली श्रृंखला वापस प्राप्त कर सकता है।
आपके कोड को लंबाई इनपुट करनी चाहिए n , और न्यूनतम लंबाई में कटौती के लिए लिंक की एक सूची का उत्पादन ।
नियम :
- n एक पूर्णांक है> 0।
- आप लिंक के लिए 0-आधारित या 1-आधारित अनुक्रमण का उपयोग कर सकते हैं।
- कुछ नंबरों के लिए, समाधान अद्वितीय नहीं है। उदाहरण के लिए, यदि
n = 15
दोनों[3, 8]
और[4, 8]
वैध outputs हैं। - आप या तो सूची वापस कर सकते हैं, या किसी उचित विभाजक के साथ प्रिंट कर सकते हैं।
- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे छोटा कोड जीत जाता है।
परीक्षण के मामले :
Input Output (1-indexed)
1 []
3 [1]
7 [3]
15 [3, 8]
149 [6, 17, 38, 79]
विस्तृत उदाहरण
के लिए n = 15, लिंक 3 और 8 परिणाम लंबाई की subchains में काटने [2, 1, 4, 1, 7]
। यह एक मान्य समाधान है क्योंकि:
1 = 1
2 = 2
3 = 1+2
4 = 4
5 = 1+4
6 = 2+4
7 = 7
8 = 1+7
9 = 2+7
10 = 1+2+7
11 = 4+7
12 = 1+4+7
13 = 2+4+7
14 = 1+2+4+7
15 = 1+1+2+4+7
केवल एक कट के साथ कोई समाधान मौजूद नहीं है, इसलिए यह एक इष्टतम समाधान है।
परिशिष्ट
ध्यान दें कि यह समस्या पूर्णांक विभाजन से संबंधित है। हम n के एक विभाजन P की तलाश कर रहे हैं, ताकि 1 से n तक के सभी पूर्णांकों में कम से कम एक पेटेंट हो, जो P का सबसेट है ।
इस समस्या के लिए एक संभव एल्गोरिथ्म के बारे में YouTube वीडियो यहां दिया गया है।
1+2
। दूसरा 2-लिंक-चेन कहां से आया?