কম্পিউটার

C++ এ উপকরণের বর্জ্য নেই এমন বার্গারের সংখ্যা


ধরুন আমাদের দুটি পূর্ণসংখ্যা টমেটো স্লাইস এবং চিজ স্লাইস আছে। এগুলো বিভিন্ন বার্গারের উপাদান -

  • জাম্বো বার্গার:৪টি টমেটো স্লাইস এবং ১টি পনিরের টুকরো।
  • ছোট বার্গার:২টি টমেটো স্লাইস এবং ১টি পনিরের টুকরো।

আমাদের খুঁজে বের করতে হবে [total_jumbo, total_small] যাতে বাকি থাকা টমেটো স্লাইসের সংখ্যা 0 এর সমান এবং বাকি থাকা পনির স্লাইসের সংখ্যাও 0 হয়। বাকি টমেটো স্লাইস এবং পনির স্লাইস 0 এর সমান করা সম্ভব না হলে [] সুতরাং ইনপুট যদি হয় টমেটোস্লাইস =16 এবং চেস স্লাইস =7, তবে আউটপুট হবে [1, 6]। সুতরাং এটি নির্দেশ করে, একটি জাম্বো বার্গার এবং 6টি ছোট বার্গার তৈরি করতে, আমাদের 4*1 + 2*6 =16টি টমেটো স্লাইস এবং 1 + 6 =7টি পনির স্লাইস প্রয়োজন৷

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

  • ans নামে একটি অ্যারে তৈরি করুন
  • যদি টমেটো বিজোড় হয় বা পনির> টমেটো/২ বা টমেটো> ৪*পনির, তাহলে উত্তর দিন
  • x :=(4 * পনির - টমেটো) / 2
  • y :=(টমেটো – (2*x)) / 4
  • অ্যারে ans-এ y তারপর x ঢোকান
  • উত্তর ফেরত দিন

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

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto> v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
   public:
   vector<int> numOfBurgers(int t, int c) {
      vector <int> ans;
      if(t % 2 != 0 || c > t/2 || t > c*4)return ans;
      int x = (4 * c - t) / 2;
      int y = ( t - (2 * x) )/ 4;
      ans.push_back(y);
      ans.push_back(x);
      return ans;
   }
};
main(){
   Solution ob;
   print_vector(ob.numOfBurgers(16,7));
}

ইনপুট

16
7

আউটপুট

[1, 6, ]

  1. C++ এ সর্বনিম্ন K সমষ্টি সহ সংক্ষিপ্ততম সাবাররে

  2. C++ এ বাউন্ডেড ম্যাক্সিমাম সহ সাবাররে সংখ্যা

  3. C++-এ B-বেসে N একটি সংখ্যা 1 দিয়ে শুরু হয় কিনা তা পরীক্ষা করুন

  4. C++ এ ভেরিয়েবল বনাম একটি বাস্তব সংখ্যা দিয়ে অ্যারে শুরু করা হচ্ছে