আমল এবং বিমল একটি অ্যারে A দিয়ে গেম খেলছে। নিয়ম:
- বিমল প্রথম খেলে।
- প্রতিটি টার্নে Мак্সিমাম এলিমেন্ট এবং তার ডানপাশের সব এলিমেন্ট ডিলিট করতে হবে।
- এলিমেন্ট খালি করলে সে জিতবে।
উদাহরণ
ইনপুট: nums = [5, 2, 6, 3, 4]
আউটপুট: Amal
বিমল ৬,৩,৪ ডিলিট করে [5,2] রেখে দিল। আমল ৫,২ ডিলিট করে জিতল।
সমাধান পদ্ধতি
maximum := -1, count := 0- প্রতিটি
ainnums:- যদি
maximum:count += 1; maximum = a
- যদি
- যদি
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