मान लीजिए कि हमारे पास एक सरणी ऊंचाई है। अलग-अलग ऊंचाई के साथ अलग-अलग टावर हैं। अमल और बिमल एक खेल खेल रहे हैं। खेल के नियम नीचे की तरह हैं
-
अमल हमेशा पहले खेलता है
-
प्रत्येक चाल के दौरान, वर्तमान खिलाड़ी ऊँचाई X के एक टॉवर का चयन करता है और ऊँचाई को Y तक कम करता है [1 <=Y
-
जिसके पास कोई चाल नहीं है वह खेल हार जाएगा
हमें विजेता का नाम खोजना होगा।
इसलिए, यदि इनपुट ऊंचाई =[3,1,2] की तरह है, तो आउटपुट बिमल होगा, क्योंकि प्रारंभिक ऊंचाई {3,1,2} हैं। अगर अमल टावर 2 से 1 की ऊंचाई कम कर देता है, तो बिमल 3 से 1 तक कम कर सकता है, लेकिन अमल के पास कोई चाल नहीं है इसलिए बिमल जीत जाता है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- उपयोग() फ़ंक्शन को परिभाषित करें। इसमें एक,n . लगेगा
- उत्तर:=0
- मैं के लिए 0 से n -1 की सीमा में, करो
- उत्तर:=उत्तर XOR a[i]
- वापसी उत्तर
- मुख्य विधि से निम्न कार्य करें
- n :=ऊंचाई का आकार
- b :=आकार n की एक सरणी और 0 से भरें
- मैं के लिए 0 से n -1 की सीमा में, करो
- यदि ऊंचाई [i] 1 के समान है, तो
- b[i] :=0
- अन्यथा
- b[i] :=0
- j :=2
- मूल :=वर्गमूल का तल ऊंचाई का [i]
- जबकि ऊंचाई[i] 1 और j<=root के समान नहीं है, करते हैं
- यदि ऊंचाई[i] mod j 0 के समान है, तो
- जबकि ऊंचाई[i] mod j 0 के समान है, करते हैं
- b[i] :=b[i] + 1
- ऊंचाई[i] :=ऊंचाई का तल[i]/j
- जबकि ऊंचाई[i] mod j 0 के समान है, करते हैं
- j :=j + 1
- यदि ऊंचाई[i] mod j 0 के समान है, तो
- यदि ऊंचाई [i] 1 के समान नहीं है, तो
- b[i] :=b[i] + 1
- यदि ऊंचाई [i] 1 के समान है, तो
- उत्तर:=उपयोग (बी, एन)
- यदि उत्तर 0 के समान नहीं है, तो
- वापस "अमल"
- अन्यथा,
- रिटर्न "बिमल"
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def util(a,n): ans = 0 for i in range(n): ans = ans^a[i] return ans def solve(height): n = len(height) b = [0 for i in range(n)] for i in range(n): if(height[i] == 1): b[i] = 0 else: b[i] = 0 j = 2 root = int(pow(height[i],0.5)) while(height[i] != 1 and j<=root): if(height[i]%j == 0): while(height[i]%j == 0): b[i] += 1 height[i] = height[i]//j j += 1 if(height[i] != 1): b[i] += 1 ans = util(b, n) if(ans != 0): return "Amal" else: return "Bimal" height = [3,1,2] print(solve(height))
इनपुट
[3,1,2]
आउटपुट
Bimal