কম্পিউটার

পাইথনে ইটের সেট থেকে অনুভূমিক ইটের প্যাটার্নের সংখ্যা গণনা করার প্রোগ্রাম তৈরি করা যেতে পারে


ধরুন আমাদের কাছে ইট নামক সংখ্যার একটি তালিকা এবং আরও দুটি মান প্রস্থ এবং উচ্চতা রয়েছে। ইটগুলির প্রতিটি উপাদান একটি ইটের প্রতিনিধিত্ব করে যার দৈর্ঘ্য ইট [i] একক এবং প্রস্থ 1 ইউনিট। আমাদেরকে ইট স্থাপনের উপায় খুঁজে বের করতে হবে যাতে আমরা প্রদত্ত প্রস্থ এবং উচ্চতা সহ ইটগুলির সম্পূর্ণ বিন্যাস পেতে পারি। আমরা ইট পুনঃব্যবহার করতে পারি কিন্তু শুধুমাত্র অনুভূমিকভাবে স্থাপন করা যায়।

সুতরাং, যদি ইনপুটটি ইটের মত হয় =[2, 1] প্রস্থ =3 উচ্চতা =2, তাহলে আউটপুট হবে 9 কারণ −

পাইথনে ইটের সেট থেকে অনুভূমিক ইটের প্যাটার্নের সংখ্যা গণনা করার প্রোগ্রাম তৈরি করা যেতে পারে

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

  • w :=প্রস্থের সমান আকারের একটি তালিকা এবং প্রথম অবস্থানে 1 সন্নিবেশ করান, বাকিগুলি 0
  • আমি 0 থেকে প্রস্থের রেঞ্জের জন্য,
      করুন
    • যদি w[i] অ-শূন্য হয়, তাহলে
      • প্রতিটি x ইটের জন্য, করুন
        • যদি i + x <=প্রস্থ, তাহলে
          • w[i + x] :=w[i + x] + w[i]
  • প্রত্যাবর্তন w[প্রস্থ]^উচ্চতা

উদাহরণ

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

def solve(bricks, width, height):
   w = [1] + [0] * width
   for i in range(width):
      if w[i]:
         for x in bricks:
            if i + x <= width:
               w[i + x] += w[i]
   return w[width] ** height

bricks = [2, 1]
width = 3
height = 2
print(solve(bricks, width, height))

ইনপুট

[2, 1], 3, 2

আউটপুট

9

  1. পাইথনে সম্ভাব্য নম্র ম্যাট্রিক্সের সংখ্যা গণনা করার প্রোগ্রাম

  2. পাইথনে s-এ স্বতন্ত্র সাবস্ট্রিংয়ের সংখ্যা গণনা করার জন্য প্রোগ্রাম

  3. পাইথনে n নোড সহ BST সংখ্যা গণনা করার প্রোগ্রাম

  4. পাইথনে রঙিন শীর্ষবিন্দু নিয়মিত বহুভুজ থেকে সমদ্বিবাহু ত্রিভুজের সংখ্যা গণনা করার প্রোগ্রাম