ধরুন আমাদের কাছে 4টি উপাদান সহ একটি অ্যারে রয়েছে। এখানে 4 ব্যাগ ক্যান্ডি আছে, ith ব্যাগে A[i] পরিমাণ ক্যান্ডি থাকে। আমরা প্রতিটি ব্যাগ আমাদের দুই বন্ধুর একজনকে দিতে চাই। আমাদের পরীক্ষা করতে হবে যে আমরা এই ব্যাগগুলি এমনভাবে বিতরণ করতে পারি যে প্রতিটি বন্ধু মোট একই পরিমাণ ক্যান্ডি পায়?
সুতরাং, যদি ইনপুটটি A =[1, 7, 11, 5] এর মত হয়, তবে আউটপুটটি True হবে, কারণ আমরা প্রথম এবং তৃতীয় ব্যাগটি প্রথম বন্ধুকে এবং দ্বিতীয় এবং চতুর্থ ব্যাগটি বন্ধুকে দিতে পারি। দ্বিতীয় বন্ধু। এইভাবে, প্রতিটি বন্ধু 12টি ক্যান্ডি পাবে৷
৷পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
a := A[0] b := A[1] c := A[2] d := A[3] if (a + b) is same as (c + d) or (a + c) is same as (b + d) or (a + d) is same as (b + c) or (a + b + c) is same as d or (a + b + d) is same as c or (a + c + d) is same as b or (b + c + d) is same as a, then: return true Otherwise return false
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; bool solve(vector<int> A) { int a = A[0]; int b = A[1]; int c = A[2]; int d = A[3]; if (a + b == c + d || a + c == b + d || a + d == b + c || a + b + c == d || a + b + d == c || a + c + d == b || b + c + d == a) return true; else return false; } int main() { vector<int> A = { 1, 7, 11, 5 }; cout << solve(A) << endl; }
ইনপুট
1, 7, 11, 5
আউটপুট
1