Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में ईंटों के सेट से क्षैतिज ईंट पैटर्न की संख्या गिनने का कार्यक्रम बनाया जा सकता है

मान लीजिए कि हमारे पास ईंटों नामक संख्याओं की एक सूची है और दो अन्य मान चौड़ाई और ऊंचाई हैं। ईंटों में प्रत्येक तत्व [i] एक ईंट का प्रतिनिधित्व करता है जिसकी लंबाई ईंटें [i] इकाइयाँ और चौड़ाई 1 इकाई है। हमें ईंटों को बिछाने के तरीकों की संख्या का पता लगाना है ताकि हमें दी गई चौड़ाई और ऊंचाई के साथ ईंटों का पूरा लेआउट मिल सके। हम ईंटों का पुन:उपयोग कर सकते हैं लेकिन केवल क्षैतिज रूप से रखी जा सकती हैं।

इसलिए, यदि इनपुट ईंटों की तरह है =[2, 1] चौड़ाई =3 ऊंचाई =2, तो आउटपुट 9 होगा क्योंकि -

पायथन में ईंटों के सेट से क्षैतिज ईंट पैटर्न की संख्या गिनने का कार्यक्रम बनाया जा सकता है

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • w :=चौड़ाई के समान आकार की एक सूची और पहले स्थान पर 1 डालें, बाकी 0 हैं
  • मैं के लिए 0 से चौड़ाई की सीमा में, करते हैं
    • अगर w[i] शून्य नहीं है, तो
      • ईंटों में प्रत्येक x के लिए, करें
        • यदि मैं + x <=चौड़ाई, तो
          • w[i + x] :=w[i + x] + w[i]
  • वापसी w[चौड़ाई]^ऊंचाई

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

def solve(bricks, width, height):
   w = [1] + [0] * width
   for i in range(width):
      if w[i]:
         for x in bricks:
            if i + x <= width:
               w[i + x] += w[i]
   return w[width] ** height

bricks = [2, 1]
width = 3
height = 2
print(solve(bricks, width, height))

इनपुट

[2, 1], 3, 2

आउटपुट

9

  1. पायथन में एस में अलग-अलग सबस्ट्रिंग की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है, हमें s के अलग-अलग गैर-रिक्त सबस्ट्रिंग की संख्या ज्ञात करनी है। इसलिए, यदि इनपुट s =abaa जैसा है, तो आउटपुट 8 होगा, क्योंकि सबस्ट्रिंग [a, b, ab, ba, aa, aba, बा, आबा]। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - कोशिश करें:=एक नया नक्शा n :=आकार का

  1. पायथन में n नोड्स के साथ BST की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास अलग-अलग नोड हैं। सभी अलग हैं। हमें यह पता लगाना है कि हम उन्हें कितने तरीकों से व्यवस्थित कर सकते हैं ताकि हम बाइनरी सर्च ट्री बना सकें। जैसा कि हम बाइनरी सर्च ट्री के बारे में जानते हैं, लेफ्ट सबट्री में हमेशा छोटे मान होते हैं और राइट सबट्री में बड़े मान होते हैं। इसे हल कर

  1. पायथन में रंगीन शीर्ष नियमित बहुभुज से समद्विबाहु त्रिभुज की संख्या गिनने का कार्यक्रम

    मान लीजिए कि हमारे पास n भुजाओं वाला एक नियमित बहुभुज है, जिसे n आकार के बाइनरी स्ट्रिंग के रूप में दर्शाया गया है। शीर्षों को या तो नीले (0) या लाल (1) में रंगा जा सकता है। वे दक्षिणावर्त दिशा में रंगीन होते हैं हमें समद्विबाहु त्रिभुजों की संख्या गिननी होती है जिनके शीर्ष सम बहुभुज के शीर्ष होते ह