मान लीजिए अमल और बिमल एक खेल खेल रहे हैं जहाँ उनके पास कुछ संख्याओं के साथ एक सरणी A है। खेल के नियम इस प्रकार हैं
- बिमल हमेशा शुरू होगा
- प्रत्येक मोड़ में एक खिलाड़ी सरणी से अधिकतम तत्व हटाता है और हटाए गए तत्व के दाईं ओर मौजूद अन्य सभी तत्व भी हटा दिए जाएंगे।
- वे वैकल्पिक रूप से खेलते हैं
- जो खिलाड़ी शेष सभी तत्वों को हटा देगा, वह गेम जीत जाएगा।
इसलिए, यदि इनपुट संख्या =[5,2,6,3,4] की तरह है, तो आउटपुट अमल होगा क्योंकि पहले बिमल [6,3,4] को हटा देगा तो सरणी [5,2] होगी, तो अमल सभी को हटा देगा, इसलिए वह विजेता होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- अधिकतम:=-1
- गिनती :=0
- अंकों में प्रत्येक के लिए, करें
- यदि a> अधिकतम शून्य नहीं है, तो
- गिनती :=गिनती + 1
- अधिकतम :=a
- यदि a> अधिकतम शून्य नहीं है, तो
- अगर गिनती मोड 2 0 के समान है, तो
- वापस "अमल"
- रिटर्न "बिमल"
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(nums): maximum = -1 count = 0 for a in nums: if a > maximum: count += 1 maximum = a if count % 2 == 0: return "Amal" return "Bimal" nums = [5,2,6,3,4] print(solve(nums))
इनपुट
[5,2,6,3,4]
आउटपुट
Amal