কম্পিউটার

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


ধরুন আমাদের তিনটি মান আছে a, b এবং c। আমরা তিনটি গাদা পাথরের সাথে একটি সলিটায়ার গেম খেলছি যার আকার যথাক্রমে a, b এবং c। প্রতিটি পালা খেলোয়াড় দুটি ভিন্ন খালি স্তূপ নির্বাচন করে, প্রতিটি থেকে একটি করে পাথর নিন এবং তার স্কোরে 1 পয়েন্ট যোগ করুন। দুটিরও কম খালি পাইল না থাকলে খেলাটি শেষ হয়। তাই আপনি যে সর্বোচ্চ স্কোর পেতে পারেন তা আমাদের খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি হয় a =4, b =4, c =6, তাহলে আউটপুট হবে 7 কারণ প্রাথমিক অবস্থা (4, 4, 6), তাহলে আমরা এই ধাপগুলি অনুসরণ করতে পারি −

  • ১ম এবং ২য় পাইল থেকে নির্বাচন করুন যাতে বর্তমান অবস্থা হয় (৩, ৩, ৬)

  • ১ম এবং ৩য় পাইল থেকে নির্বাচন করুন যাতে বর্তমান অবস্থা হয় (2, 3, 5)

  • ১ম এবং ৩য় পাইল থেকে নির্বাচন করুন যাতে বর্তমান অবস্থা হয় (1, 3, 4)

  • ১ম এবং ৩য় পাইল থেকে নির্বাচন করুন যাতে বর্তমান অবস্থা হয় (0, 3, 3)

  • ২য় এবং ৩য় পাইল থেকে নির্বাচন করুন যাতে বর্তমান অবস্থা হয় (0, 2, 2)

  • ২য় এবং ৩য় পাইল থেকে নির্বাচন করুন যাতে বর্তমান অবস্থা হয় (0, 1, 1)

  • ২য় এবং ৩য় পাইল থেকে নির্বাচন করুন যাতে বর্তমান অবস্থা হয় (0, 0, 0)

এবং অবশেষে দুটিরও কম অ-খালি গাদা আছে, তাই গেমটি শেষ হয়৷

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

  • সর্বনিম্ন :=সর্বনিম্ন a, b এবং c

  • সর্বোচ্চ :=a, b এবং c

    এর সর্বোচ্চ
  • বাম :=a + b + c - সর্বোচ্চ - সর্বনিম্ন

  • যদি সর্বাধিক-বাম <=সর্বনিম্ন, তারপর

    • সর্বনিম্ন + বাম - ভাগফল (1 + সর্বনিম্ন - (সর্বোচ্চ-বাম))/2

  • সর্বনিম্ন + (সর্বনিম্ন (সর্বাধিক-সর্বনিম্ন) এবং বাম)

    ফেরত দিন

উদাহরণ

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

def সমাধান(a, b, c):সর্বনিম্ন =min(a,b,c) সর্বোচ্চ =সর্বোচ্চ(a,b,c) left =a+b+c-সর্বোচ্চ-সর্বাধিক-বাম হলে সর্বনিম্ন<=সর্বনিম্ন:সর্বনিম্ন রিটার্ন + বাম-(1+সর্বাধিক-(সর্বোচ্চ-বাম))//2 সর্বনিম্ন রিটার্ন + মিনিমাম (সর্বাধিক-সর্বাধিক, বাম)a =4b =4c =6প্রিন্ট(সল্ভ(a, b, c)) 

ইনপুট

4, 4, 6

আউটপুট

7

  1. পাইথনে সর্বোচ্চ বিল্ডিং উচ্চতা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে সম্ভাব্য সকল বৈধ পথ থেকে সর্বোচ্চ স্কোর খুঁজে বের করার প্রোগ্রাম

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

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