মান লইয়া নিন দুটি পূর্ণসংখ্যা tomatoSlices আর cheeseSlices। এগুলো দুটি রকম বরগারের উপাদান:
- জাম্বো বরগার: ৪ টি টমেটো স্লাইস আর ১ টি চিজ স্লাইস।
- স্মল বরগার: ২ টি টমেটো স্লাইস আর ১ টি চিজ স্লাইস।
আমাদের খুঁজে বের করতে হবে [total_jumbo, total_small] যেন টমেটো স্লাইস আর চিজ স্লাইস — দুটোরই অবশিষ্টাংশ ০ হয়। যদি সম্ভব না হয় তবে খালি অ্যারে [] ফেরত দিতে হবে। উদাহরণস্বরূপ, ইনপুট tomatoSlices = 16 আর cheeseSlices = 7 হলে আউটপুট হবে [1, 6]। অর্থাৎ ১ টি জাম্বো আর ৬ টি স্মল বরগার বানাতে ৪×১ + ২×৬ = ১৬ টি টমেটো আর ১ + ৬ = ৭ টি চিজ লাগবে।
সমাধানের ধাপগুলো:
ansনামের একটি অ্যারে বানান।- যদি টমেটো বিজোড় হয়, অথবা চিজ > টমেটো/২, অথবা টমেটো > ৪×চিজ হয়, তবে
ansফেরত দিন। x := (4 * cheese - tomato) / 2y := (tomato - (2*x)) / 4ans-এ প্রথমেyতারপরxঢোকান।ansফেরত দিন।
নিচের ইমপ্লিমেন্টেশনটি দেখুন আরো ভালো বোঝার জন্য:
উদাহরণ
#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, ]