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

पायथन में गेम शुरू करने के लिए संभावित चालों की संख्या खोजने का प्रोग्राम जिससे स्टार्टर जीत सके


मान लीजिए अमल और बिमल एक गेम खेल रहे हैं। उनके पास n कंटेनर हैं जिनमें एक या अधिक चॉकलेट हैं। ये कंटेनर 1 से N तक संख्याबद्ध हैं, जहां iवें कंटेनर में count[i] संख्या में चॉकलेट हैं। अब गेम इस तरह है। पहला खिलाड़ी एक कंटेनर चुनेगा और उससे एक या अधिक चॉकलेट लेगा। फिर दूसरा खिलाड़ी एक गैर-खाली कंटेनर चुनेगा और उससे एक या अधिक चॉकलेट लेगा, इसी तरह वे बारी-बारी से खेलते हैं। जब खिलाड़ियों में से किसी के पास चॉकलेट लेने का कोई रास्ता नहीं होता, तो वह हार जाता है। यदि अमल की बारी पहले है तो हमें पता लगाना है कि अमल कितने तरीकों से पहली चाल चल सकता है, ताकि वह हमेशा जीत सके।

तो, यदि इनपुट count = [2, 3] है, तो आउटपुट 1 होगा, क्योंकि शुरू में कंटेनर [2, 3] जैसे हैं। वे इस तरह खेल सकते हैं:

  • अमल दूसरे कंटेनर से एक चॉकलेट लेता है, तो वर्तमान में [2, 2]
  • बिमल पहले कंटेनर से एक चॉकलेट लेता है, तो वर्तमान में [1, 2]
  • अमल दूसरे कंटेनर से एक चॉकलेट लेता है, तो वर्तमान में [1, 1]
  • बिमल पहले कंटेनर से एक चॉकलेट लेता है, तो वर्तमान में [0, 1]

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

  • tmp := 0
  • count में प्रत्येक c के लिए, करें
    • tmp := tmp XOR c
  • यदि tmp शून्य है, तो
    • 0 लौटाएं
  • अन्यथा,
    • moves := 0
    • count में प्रत्येक c के लिए, करें
      • moves := moves + (1 जब (tmp XOR c) < c, अन्यथा 0)
    • moves लौटाएं

उदाहरण

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

def solve(count): tmp = 0 for c in count: tmp ^= c if not tmp: return 0 else: moves = 0 for c in count: moves += (tmp^c) < c return moves count = [2, 3] print(solve(count))

इनपुट

[2, 3] 

आउटपुट

1

  1. - पायथन में मैट्रिक्स के एक सेल से दूसरे सेल में जाने के लिए आवश्यक न्यूनतम चालें खोजें

    मान लीजिए हमारे पास एक N x N मैट्रिक्स M है, जो 1, 0, 2, 3 से भरा है। हमें स्रोत सेल से गंतव्य सेल तक जाने के लिए आवश्यक न्यूनतम चालों की संख्या ढूंढनी है। केवल खाली सेलों से गुजरते हुए, हम ऊपर, नीचे, दाएं और बाएं जा सकते हैं।मान 1 वाला सेल स्रोत दर्शाता है।मान 2 वाला सेल गंतव्य दर्शाता है।मान 3 वाल

  1. Python प्रोग्राम से सूची में सबसे छोटी संख्या खोजना Python प्रोग्राम से सूची में सबसे छोटी संख्या खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें सूची में उपलब्ध सबसे छोटी संख्या प्रदर्शित करने की आवश्यकता है। यहां हम या तो सूची को क्रमबद्ध करके सबसे छोटा तत्व प्राप्त कर सकते हैं या बिल्ट-इन min() फ़ंक्शन का उपयोग करके सबसे छोटा तत्

  1. - Python प्रोग्राम से सूची में सबसे बड़ी संख्या खोजना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें सूची के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम समस्या कथन के समाधान तक पहुंचने के लिए अंतर्निहित फ़ंक्शंस की मदद लेंगे। sort() फ़ंक्शन का उपयोग करना उदाहरण # सूची list1 = [23