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

पायथन में अधिकतम k लगातार गेम जीतने के तरीकों की संख्या गिनने का कार्यक्रम

मान लीजिए कि हमारे पास दो संख्याएँ n और k हैं। यहाँ n हमारे द्वारा खेले जाने वाले खेलों की संख्या को दर्शाता है। हमें यह पता लगाना है कि हम कितने तरीकों से k या उससे कम गेम लगातार जीत सकते हैं। अगर उत्तर बहुत बड़ा है तो परिणाम को 10^9 + 7 से संशोधित करें।

इसलिए, यदि इनपुट n =3 k =2 जैसा है, तो आउटपुट 7 होगा, क्योंकि संभावित तरीकों से हम लगातार 2 या उससे कम बार जीत सकते हैं, ["LLL", "WLL", "LWL", "LLW", "WWL", "LWW", "WLW"]

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

  • म :=1^9 + 7
  • एक फ़ंक्शन को परिभाषित करें dp() । यह मैं, कश्मीर ले जाएगा
  • यदि मैं>=n या K> k, तो
    • सही लौटें जब K <=k, अन्यथा असत्य
  • रिटर्न dp(i + 1, 0) mod m + dp(i + 1, K + 1) mod m
  • मुख्य विधि से, निम्न कार्य करें -
  • रिटर्न डीपी(0, 0) मॉड एम

उदाहरण

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

def solve(n, k):
   m = 1**9 + 7

   def dp(i, K):
      if i >= n or K > k:
         return K <= k
      return dp(i + 1, 0) % m + dp(i + 1, K + 1) % m

   return dp(0, 0) % m

n = 4
k = 2
print(solve(n, k))

इनपुट

4, 2

आउटपुट

5

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

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

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

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

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक धनात्मक पूर्णांक N दिया गया है, हमें लंबाई N के साथ उपलब्ध सभी संभावित भिन्न बाइनरी स्ट्रिंग्स को गिनने की आवश्यकता है ताकि स्ट्रिंग में कोई क्रमागत 1 मौजूद न हो। आइए अब नीचे दिए गए कार्यान्वयन में समाधान देख