কম্পিউটার

সি++-এ কাপ এবং তাকগুলির পরিচ্ছন্ন ব্যবস্থা করা যায় কিনা তা খুঁজুন


ধারণা

প্রদত্ত তিনটি ভিন্ন ধরণের কাপ (p[]) এবং সসার (q[]), এবং তাকগুলির m সংখ্যার ভিত্তিতে, কাপ এবং তাকগুলির পরিচ্ছন্ন বিন্যাস করা যায় কিনা তা নির্ধারণ করুন।

এখন, কাপ এবং সসারগুলির বিন্যাসগুলি পরিষ্কার হবে যদি এটি নিম্নলিখিত নিয়মগুলি অনুসরণ করে -

  • প্রথম নিয়ম অনুসারে, কোন শেলফে কাপ এবং সসার উভয়ই থাকতে পারে না।
  • দ্বিতীয় নিয়ম অনুযায়ী, কোনো শেলফে ৫ কাপের বেশি রাখা যাবে না।
  • তৃতীয় নিয়ম অনুসারে, কোনো শেলফে ১০টির বেশি সসার থাকতে পারে না।

ইনপুট

p[] = {4, 3, 7}
q[] = {5, 9, 10}
m = 11

আউটপুট

Yes

ব্যাখ্যা

মোট কাপ =14, তাক প্রয়োজন =3

মোট সসার =24, তাক প্রয়োজন =3

সুতরাং, মোট প্রয়োজনীয় তাক =3 + 3 =6,

যা প্রদত্ত সংখ্যার চেয়ে ছোট তাক m. সুতরাং, আউটপুট হল হ্যাঁ।

ইনপুট

p[] = {5, 8, 5}
q[] = {4, 10, 11}
m = 3

আউটপুট

No

মোট কাপ =18, তাক প্রয়োজন =4

মোট সসার =25, তাক প্রয়োজন =3

সুতরাং, মোট প্রয়োজনীয় তাক =4 + 3 =7,

যা প্রদত্ত সংখ্যার চেয়ে বড় তাক m. সুতরাং, আউটপুট নং।

পদ্ধতি

কাপ এবং সসারগুলি সাজানোর জন্য, কাপের মোট সংখ্যা p এবং সসারের মোট সংখ্যা q নির্ধারণ করুন। কারণ, একই শেল্ফে 5 কাপের বেশি হওয়া সম্ভব নয়, তাই সূত্র (p+5-1)/5 দ্বারা কাপের জন্য প্রয়োজনীয় সর্বাধিক সংখ্যক তাক এবং সূত্রটি প্রয়োগ করে সসারের জন্য প্রয়োজনীয় সর্বোচ্চ সংখ্যক তাক নির্ধারণ করুন ( q+10-1)/10। দেখা গেছে যে যদি এই দুটি মানের সমষ্টি m এর সমান বা ছোট হয় তবে বিন্যাসটি সম্ভব নয় অন্যথায় নয়।

উদাহরণ

// C++ code to find if neat
// arrangement of cups and
// shelves can be made
#include<bits/stdc++.h>
using namespace std;
// Shows function to check arrangement
void canArrange1(int p[], int q[], int m){
   int sump = 0, sumq = 0;
   // Used to calculate total number
   // of cups
   for(int i = 0; i < 3; i++)
      sump += p[i];
   // Used to calculate total number
   // of saucers
   for(int i = 0; i < 3; i++)
      sumq += q[i];
   // Now adding 5 and 10 so that if the
   // total sum is smaller than 5 and
   // 10 then we can get 1 as the
   // answer and not 0
   int mp = (sump + 5 - 1) / 5;
   int mq = (sumq + 10 - 1) / 10;
   if(mp + mq <= m)
      cout << "Yes";
   else
      cout << "No";
}
// Driver code
int main(){
   // Shows number of cups of each type
   int p[] = {4, 3, 7};
   // Shows number of saucers of each type
   int q[] = {5, 9, 10};
   // Shows number of shelves
   int m = 10;
   // ndicates calling function
   canArrange1(p, q, m);
   return 0;
}

আউটপুট

Yes

  1. C++ ব্যবহার করে A এবং B এর মধ্যে N জ্যামিতিক মানে খুঁজুন।

  2. C++ ব্যবহার করে A এবং B এর মধ্যে N গাণিতিক মানে খুঁজুন।

  3. একটি C++ ভেরিয়েবল কনস্ট এবং উদ্বায়ী উভয়ই হতে পারে?

  4. পাইথনে কাপ এবং তাকগুলির ঝরঝরে ব্যবস্থা করা যায় কিনা তা সন্ধান করুন