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

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

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

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

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

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

  • tmp :=0
  • गणना में प्रत्येक c के लिए, करें
    • tmp :=tmp XOR c
  • यदि टीएमपी शून्य है, तो
    • वापसी 0
  • अन्यथा,
    • चाल :=0
    • गणना में प्रत्येक c के लिए, करें
      • चलती है :=चलती है + (1 जब (tmp XOR c)
    • वापसी चाल

उदाहरण

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

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 वाला सेल स्रोत इंगित करता है।

  1. सूची में सबसे छोटी संख्या खोजने के लिए पायथन प्रोग्राम

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

  1. एक सूची में सबसे बड़ी संख्या खोजने के लिए पायथन कार्यक्रम

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