मान लीजिए, हमारे पास बक्से के n जोड़े हैं जिन्हें एक चौकोर आकार के कंटेनर में भेजने की आवश्यकता है। बक्से की जोड़ी की चौड़ाई एक जोड़ी (ए, बी) के रूप में दी गई है और उन्हें एक सरणी 'आयाम' में दिया गया है। यदि हम बक्सों की चौड़ाई एक-दूसरे के समानांतर रखते हैं, तो हमें यह पता लगाना होगा कि डिब्बे कंटेनर के अंदर कितना क्षेत्रफल लेंगे। हम बक्सों को एक दूसरे के ऊपर ढेर नहीं कर सकते। हम सभी nजोड़ों के लिए कंटेनर में दो बक्सों के लिए आवश्यक न्यूनतम क्षेत्र निर्धारित करते हैं।
इसलिए, यदि इनपुट n =4, आयाम ={{2, 4}, {3, 6}, {2, 5}, {4, 6}} जैसा है, तो आउटपुट होगा -
64 25 36 16
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
res := 0 while n is non-zero, do: a := first value of dimensions[n] b := second value of dimensions[n] res := maximum of (2 * minimum of (a, b) and maximum of a and b) print(res * res) n := n - 1
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; #define N 100 void solve(int n, vector<pair<int, int>> dimensions) { int res = 0; while(n--){ int a = dimensions[n].first; int b = dimensions[n].second; int res = max(2 * min(a, b), max(a, b)); cout<< res * res << endl; } } int main() { int n = 4; vector<pair<int, int>> dimensions = {{2, 4}, {3, 6}, {2, 5}, {4, 6}}; solve(n, dimensions); return 0; }
इनपुट
4, {{2, 4}, {3, 6}, {2, 5}, {4, 6}}
आउटपुट
64 25 36 16