কম্পিউটার

মিনিয়ন গেমের স্কোর এবং বিজয়ীর নাম খুঁজে পেতে পাইথন প্রোগ্রাম


ধরুন অমল ও বিমল নামে দুজন খেলোয়াড় আছে। তারা একটা খেলা খেলছে। খেলার নিয়ম নিম্নরূপ -

  • উভয় খেলোয়াড়ের একই স্ট্রিং আছে।

  • তাদের উভয়কেই s অক্ষর ব্যবহার করে সাবস্ট্রিং তৈরি করতে হবে।

  • বিমলকে ব্যঞ্জনবর্ণ দিয়ে শুরু করে শব্দ তৈরি করতে হয়।

  • অমলকে স্বর দিয়ে শুরু করে শব্দ তৈরি করতে হয়।

  • উভয় খেলোয়াড়ই সম্ভাব্য সব সাবস্ট্রিং তৈরি করলে খেলাটি শেষ হবে।

এখন স্কোরিংয়ের মানদণ্ডটি হল:একজন খেলোয়াড় স্ট্রিং s-এ সাবস্ট্রিংয়ের প্রতিটি ঘটনার জন্য 1 পয়েন্ট অর্জন করে। আমাদের এই গেমের বিজয়ী এবং তার স্কোর খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি s ="BANANA" এর মত হয়, তাহলে আউটপুট হবে বিমল, 12 কারণ

শব্দ :BANANA
আমল
Bimal(WINNER)
সাবস্ট্রিং
স্কোর
সাবস্ট্রিং
স্কোর
A
3
B
1
AN
2
N
2
ANA
2
BA
1
ANAN
1
NA
2
ANANA
1
ব্যান৷
1


NAN
1


BANA
1


NANA
1


BANAN
1


কলা
1
মোট 9
মোট 12

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • স্বরবর্ণ :=স্বরবর্ণের একটি সেট
  • p1 :=0
  • p2 :=0
  • প্রতিটি সূচক i এবং অক্ষর c শব্দের জন্য, করুন
    • যদি c একটি স্বরবর্ণ হয়, তাহলে
      • p2 :=p2 + শব্দের আকার - i
    • অন্যথায়,
      • p1 :=p1 + শব্দের আকার - i
  • যদি p1> p2, তাহলে
    • রিটার্ন 'বিমল', p1
  • অন্যথায় যখন p2> p1, তারপর
    • 'আমল' প্রত্যাবর্তন, p2
  • অন্যথায়,
    • 'ড্র' ফেরত দিন

উদাহরণ

আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি

def solve(word):
   vowels = set('AEIOU')
   p1 = 0
   p2 = 0
   for i, c in enumerate(word):
      if c in vowels:
         p2 += len(word) - i
      else:
         p1 += len(word) - i
   if p1 > p2:
      return 'Bimal', p1
   elif p2 > p1:
      return 'Amal', p2
   else:
      return 'Draw'

word = "BANANA"
print(solve(word))

ইনপুট

"BANANA"

আউটপুট

('Bimal', 12)

  1. পাইথনে পাথর অপসারণ থেকে সর্বাধিক স্কোর খুঁজে পাওয়ার প্রোগ্রাম

  2. পাইথন ব্যবহার করে একটি অ্যারে গেমের বিজয়ী খুঁজে বের করার প্রোগ্রাম

  3. পাইথনে সংখ্যাগুলি মুছে দিয়ে সর্বাধিক সংযোজন স্কোর খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে x, y, z অক্ষরের i, j এবং k সংখ্যার সাথে পরবর্তী সংখ্যা বের করার জন্য প্রোগ্রাম