ধরুন অমল এবং বিমল একটি গেম খেলছেন যেখানে তাদের কয়েকটি নম্বর সহ একটি অ্যারে এ রয়েছে৷ খেলার নিয়মগুলি নিম্নরূপ
- বিমল সর্বদা শুরু করবে
- প্রতিটি পালাক্রমে একজন প্লেয়ার অ্যারে থেকে সর্বাধিক উপাদান মুছে দেয় এবং মুছে ফেলা উপাদানটির ডানদিকে উপস্থিত অন্যান্য সমস্ত উপাদানও মুছে ফেলা হবে৷
- তারা বিকল্পভাবে খেলে
- যে খেলোয়াড় সমস্ত অবশিষ্ট উপাদানগুলি সরিয়ে ফেলবে, সে গেমটি জিতবে।
সুতরাং, যদি ইনপুটটি nums =[5,2,6,3,4] এর মত হয়, তাহলে আউটপুট হবে Amal কারণ প্রথমে বিমল [6,3,4] সরিয়ে দেবে তাই অ্যারে হবে [5,2], তাহলে অমল সব সরিয়ে দেবে, তাই সে বিজয়ী হবে।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- সর্বোচ্চ :=-1
- গণনা :=0
- প্রতিটি a এর জন্য সংখ্যায়, করুন
- যদি 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