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

সি++ কোড: ভৌতবিজ্ঞান পরীক্ষার হিসাব

একটি ভৌতবিজ্ঞান পরীক্ষা করছি। n জোড়া মান এবং একটি থ্রেশহোল্ড k দেওয়া আছে। প্রতিটি জোড়ার প্রথম মান এক টোটালে যোগ হবে, دوم মান আরেক টোটালে যোগ হবে। এখন প্রতিটি টোটালের জন্য ন্যূনতম মানের মধ্যে min(টোটাল, k-টোটাল) বের করব এবং দুটি মিনিমাম যোগ করে আউটপুট দেব।

উদাহরণ

n=4, k=20, values={{3,5},{4,3},{2,1},{4,4}} → আউটপুট: 14

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

a := 0, b := 0
for i := 0 to n-1:
    a += values[i].first
    b += values[i].second
print(min(a, k-a) + min(b, k-b))

সি++ কোড উদাহরণ

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

void solve(int n, int k, vector<pair<int,int>> values) {
    int a = 0, b = 0;
    for (int i = 0; i < n; i++) {
        a += values[i].first;
        b += values[i].second;
    }
    cout << min(a, k-a) + min(b, k-b);
}

int main() {
    int n = 4, k = 20;
    vector<pair<int,int>> values = {{3,5},{4,3},{2,1},{4,4}};
    solve(n, k, values);
    return 0;
}

ইনপুট

4, 20, {{3,5},{4,3},{2,1},{4,4}}

আউটপুট

14
  1. বাইসেকশন মেথড (Bisection Method) C++ প্রোগ্রাম

  2. C++-এ পিরামিডের ভলিউম বের করার প্রোগ্রাম

  3. C++-এ কুইকসর্ট (QuickSort) প্রোগ্রাম

  4. উইন্ডোজে C++-এর জন্য সেরা IDE কী? (আলাদা লেখা)