কম্পিউটার টিউটোরিয়াল

C++ কোড: কন্টেইনারে বক্সের আকার অনুযায়ী জায়গা গণনা

n জোড়া বক্স একটি বর্গাকার কন্টেইনারে পাঠাতে হবে। প্রতিটি জোড়ার প্রস্থ (a, b) হিসেবে দেওয়া আছে 'dimensions' আরে। বক্স দুটির প্রস্থ সমান্তরাল রাখলে কন্টেইনারের ভিতরে কত জায়গা নেবে তা বের করতে হবে। বক্সগুলো স্ট্যাক করা যাবে না। প্রতিটি জোড়ার জন্য ন্যূনতম আয়তন বের করতে হবে।

সমাধানের ধাপসমূহ

প্রতিটি জোড়ার জন্য: ছোট প্রস্থটি ২ গুণ করুন এবং বড় প্রস্থটির সাথে তুলনা করুন। এই দুটির মধ্যে সর্বোচ্চ মান বর্গ করলে ন্যূনতম আয়তন मिलবে। অর্থাৎ max(2×min(a,b), max(a,b))²।

উদাহরণ

#include <bits/stdc++.h> 
using namespace std; 

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 side = max(2 * min(a, b), max(a, b)); 
        cout << side * side << 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

ব্যাখ্যা

প্রথম জোড়া (2,4): max(4,4)=4, ৪²=১৬। দ্বিতীয় (3,6): max(6,6)=6, ৬²=৩৬। তৃতীয় (2,5): max(4,5)=5, ৫²=২৫। চতুর্থ (4,6): max(8,6)=8, ৮²=৬৪। আউটপুট উল্টে ক্রমে আসে কারণ স্ট্যাক থেকে পপ করা হয়েছে।

  1. সি++-এ সমান্তরাল চতুর্ভুজের (Parallelogram) ক্ষেত্রফল বের করার প্রোগ্রাম

  2. সি++-এ আর্ধবৃত্তের (Semicircle) ক্ষেত্রফল ও পরিসীমা বের করার প্রোগ্রাম

  3. সি++ প্রোগ্রাম: সিলিন্ডারের পরিসীমা (Perimeter) নির্ণয়

  4. C++ ব্যবহার করে এলিপসের এরিয়া বের করা