ধরুন আমাদের অ্যারে p-এ তিনটি ভিন্ন ধরনের কাপ এবং অ্যারে q এবং m নম্বর শেল্ফ-এ সসার রয়েছে, আমাদের দেখতে হবে কাপ এবং তাকগুলির একটি পরিচ্ছন্ন বিন্যাস করা যায় কিনা৷
আমরা বলতে পারি যে কাপ এবং সসারগুলির বিন্যাসটি এই শর্তগুলি অনুসরণ করলে পরিষ্কার হবে - 1. কোনও শেলফ কাপ এবং সসার উভয়ই ধরে রাখতে পারে না। 2. একটি স্বয়ং সর্বাধিক 5 কাপ থাকতে পারে। 3. একটি নিজের মধ্যে সর্বাধিক 10টি সসার থাকতে পারে৷
সুতরাং, যদি ইনপুটটি হয় p =[4, 3, 7] q =[5, 9, 10] m =11, তাহলে আউটপুটটি True হবে কারণ মোট কাপ সংখ্যা =14, 3টি তাক প্রয়োজন, মোট সসার =24, 3টি তাক প্রয়োজন। সুতরাং, মোট প্রয়োজনীয় তাক =3 + 3 =6, যা প্রদত্ত তাক সংখ্যার থেকে ছোট।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
sum_p :=0, sum_q :=0
-
আমি 0 থেকে পি এর আকারের মধ্যে, কর
-
sum_p :=sum_p + p[i]
-
-
i এর জন্য 0 থেকে q এর আকারের মধ্যে, করুন
-
sum_q :=sum_q + q[i]
-
-
m_p :=(sum_p + 4) / 5
-
m_q :=(sum_q + 9) / 10
-
যদি m_p + m_q <=m, তাহলে
-
রিটার্ন ট্রু
-
-
অন্যথায়,
-
রিটার্ন ফলস
-
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def is_valid(p, q, m):sum_p =0 sum_q =0 এর জন্য i range(0, len(p)):sum_p +=p[i] রেঞ্জে i এর জন্য(0,len(q) ):sum_q +=q[i] m_p =(sum_p + 5 - 1) / 5 m_q =(sum_q + 10 - 1) / 10 if(m_p + m_q <=m):রিটার্ন True else:ফেরত Falsep =[4 , 3, 7]q =[5, 9, 10]m =11 প্রিন্ট(is_valid(p ,q ,m))
ইনপুট
<প্রে>[4, 3, 7], [5, 9, 10], 11আউটপুট
সত্য