কম্পিউটার

ডিম ড্রপিং ধাঁধা জন্য পাইথন প্রোগ্রাম


এই নিবন্ধে, আমরা নীচে দেওয়া সমস্যার বিবৃতিটির সমাধান সম্পর্কে শিখব।

সমস্যা বিবৃতি − ধরুন, আমরা জানতে চাই যে 40 তলা বিল্ডিংয়ের কোন গল্পগুলি থেকে ডিম ফেলা নিরাপদ, এবং এর মধ্যে কোনটি ডিমের সাহায্যে ল্যান্ডিংয়ে ডিমগুলিকে ক্ষতিগ্রস্থ করবে। গল্পগুলি চেক করার জন্য আমাদের ন্যূনতম সংখ্যক পথ প্রদর্শন করতে হবে৷

এখন নিচের বাস্তবায়নে সমাধানটি পর্যবেক্ষণ করা যাক -

উদাহরণ

# dynamic programming
INT_MAX = 32767
# to get minimum trials
def eggDrop(n, k):
   # intialization
   eggFloor = [[0 for x in range(k + 1)] for x in range(n + 1)]
   # base case
   for i in range(1, n + 1):
      eggFloor[i][1] = 1
      eggFloor[i][0] = 0
   # We always need j trials
   for j in range(1, k + 1):
      eggFloor[1][j] = j
   # Fill rest of the entries
   for i in range(2, n + 1):
      for j in range(2, k + 1):
         eggFloor[i][j] = INT_MAX
         for x in range(1, j + 1):
            res = 1 + max(eggFloor[i-1][x-1], eggFloor[i][j-x])
            if res < eggFloor[i][j]:
               eggFloor[i][j] = res
   return eggFloor[n][k]
# main
n = 4
k = 40
print("Minimum number of trials in worst case scenario with " + str(n) + " eggs and "+ str(k) + " floors is " + str(eggDrop(n, k)))

আউটপুট

Minimum number of trials in worst case scenario with 4 eggs and 40 floors is 6

ডিম ড্রপিং ধাঁধা জন্য পাইথন প্রোগ্রাম

সমস্ত ভেরিয়েবল স্থানীয় সুযোগে ঘোষণা করা হয়েছে এবং তাদের রেফারেন্স উপরের চিত্রে দেখা যাচ্ছে।

উপসংহার

এই নিবন্ধে, আমরা শিখেছি কিভাবে আমরা ডিম ড্রপিং পাজলের জন্য একটি পাইথন প্রোগ্রাম তৈরি করতে পারি।


  1. অ্যারে রোটেশনের জন্য পাইথন প্রোগ্রাম

  2. যৌগিক সুদের জন্য পাইথন প্রোগ্রাম

  3. সহজ আগ্রহের জন্য পাইথন প্রোগ্রাম

  4. নির্বাচন সাজানোর জন্য পাইথন প্রোগ্রাম