ধরুন আমাদের দুটি পূর্ণসংখ্যা টমেটো স্লাইস এবং চিজ স্লাইস আছে। এগুলো বিভিন্ন বার্গারের উপাদান -
- জাম্বো বার্গার:৪টি টমেটো স্লাইস এবং ১টি পনিরের টুকরো।
- ছোট বার্গার:২টি টমেটো স্লাইস এবং ১টি পনিরের টুকরো।
আমাদের খুঁজে বের করতে হবে [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, ]