কম্পিউটার টিউটোরিয়াল

পাইথনে অ্যারে রিমভাল গেমের বিজয়ী খুঁজে বের করা

আমল এবং বিমল একটি অ্যারে A দিয়ে গেম খেলছে। নিয়ম:

  • বিমল প্রথম খেলে।
  • প্রতিটি টার্নে Мак্সিমাম এলিমেন্ট এবং তার ডানপাশের সব এলিমেন্ট ডিলিট করতে হবে।
  • এলিমেন্ট খালি করলে সে জিতবে।

উদাহরণ

ইনপুট: nums = [5, 2, 6, 3, 4]

আউটপুট: Amal

বিমল ৬,৩,৪ ডিলিট করে [5,2] রেখে দিল। আমল ৫,২ ডিলিট করে জিতল।

সমাধান পদ্ধতি

  1. maximum := -1, count := 0
  2. প্রতিটি a in nums:
    • যদি maximum: count += 1; maximum = a
  3. যদি count % 2 == 0: "Amal", অন্যথায় "Bimal"।

তত্ত্ব: রেকর্ড ব্রেকিং এলিমেন্টের সংখ্যা (লেফট-টু-রাইট ম্যাক্সিমা) যদি জোড় হয় তবে দ্বিতীয় খেলোয়া (আমল) জিতবে।

পাইথন ইমপ্লিমেন্টেশন

def solve(nums):
    maximum = -1
    count = 0
    for a in nums:
        if a > maximum:
            count += 1
            maximum = a
    return "Amal" if count % 2 == 0 else "Bimal"

# টেস্ট
nums = [5, 2, 6, 3, 4]
print(solve(nums))  # আউটপুট: Amal

ইনপুট

[5,2,6,3,4]

আউটপুট

Amal
  1. জেনারেটেড অ্যারেতে সর্বোচ্চ মান বের করা

  2. পাইথন প্রোগ্রামে অ্যারের যোগফল বের করা

  3. পাইথনে অ্যারের যোগফল বের করা

  4. পাইথন প্রোগ্রাম: ২ডি অ্যারে-তে k-তম ছোট এলিমেন্ট বের করা