मान लीजिए कि हमारे पास दो पूर्णांक टमाटरस्लाइस और चीज़स्लाइस हैं। ये विभिन्न बर्गर की सामग्री हैं -
- जंबो बर्गर:4 टमाटर स्लाइस और 1 चीज़ स्लाइस।
- छोटा बर्गर:2 टमाटर के टुकड़े और 1 पनीर का टुकड़ा।
हमें [total_jumbo, Total_small] को खोजना होगा ताकि बचे हुए टमाटर के स्लाइस की संख्या 0 के बराबर हो और जो चीज़ बची है उसकी संख्या भी 0 हो। यदि शेष टमाटर के स्लाइस और चीज़ स्लाइस को 0 रिटर्न के बराबर बनाना संभव नहीं है। []। इसलिए यदि इनपुट टमाटरस्लाइस =16 और चेसस्लाइस =7 है, तो आउटपुट [1, 6] होगा। तो यह इंगित करता है, एक जंबो बर्गर और 6 छोटे बर्गर बनाने के लिए, हमें 4*1 + 2*6 =16 टमाटर के स्लाइस और 1 + 6 =7 चीज़स्लाइस चाहिए।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- एक सरणी बनाएं जिसे ans कहा जाता है
- अगर टमाटर विषम है या पनीर> टमाटर/2 या टमाटर> 4*पनीर, तो उत्तर दें
- x :=(4 * पनीर - टमाटर) / 2
- y :=(टमाटर – (2*x)) / 4
- 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, ]