কম্পিউটার

সর্বাধিক পাথর খুঁজতে C++ কোড আমরা তিনটি স্তূপ থেকে বাছাই করতে পারি


ধরুন আমাদের তিনটি সংখ্যা a, b এবং c আছে। সেখানে যথাক্রমে a, b এবং cnumber সহ তিনটি পাথরের স্তূপ রয়েছে। প্রতিবার আমরা এই অপারেশনগুলি করতে পারি -

  • প্রথম স্তূপ থেকে একটি পাথর এবং দ্বিতীয় স্তূপ থেকে দুটি পাথর নিন (যখন স্তূপে প্রয়োজনীয় সংখ্যক পাথর থাকে)

  • দ্বিতীয় স্তূপ থেকে একটি পাথর এবং তৃতীয় স্তূপ থেকে দুটি পাথর নিন (যখন স্তূপে প্রয়োজনীয় সংখ্যক পাথর থাকে)

আমাদের গণনা করতে হবে সর্বোচ্চ কতগুলো পাথর আমরা সংগ্রহ করতে পারি?

সুতরাং, যদি ইনপুটটি a =3 এর মত হয়; b =4; c =5, তাহলে আউটপুট হবে 9, কারণ দুটি অপারেশনে আমরা দ্বিতীয় স্তূপ থেকে দুটি পাথর এবং তৃতীয় স্তূপ থেকে চারটি পাথর নিতে পারি, মোট আমাদের কাছে 6টি পাথর আছে, তারপর প্রথম থেকে একটি এবং দ্বিতীয়টি থেকে আরও 3টি পাথর নেওয়ার জন্য।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

return (minimum of b and floor of (c / 2) + minimum of a and (b - minimum of b and floor of (c / 2)) / 2) * 3

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;
int solve(int a, int b, int c){
   return (min(b, c / 2) + min(a, (b - min(b, c / 2)) / 2)) * 3;
}
int main(){
   int a = 3;
   int b = 4;
   int c = 5;
   cout << solve(a, b, c) << endl;
}

ইনপুট

3, 4, 5

আউটপুট

9

  1. একটি গ্রাফ থেকে সর্বাধিক স্কোর কমানো যেতে পারে তা খুঁজে বের করতে C++ প্রোগ্রাম

  2. সর্বাধিক পয়েন্ট খুঁজুন যা C++ অ্যারে থেকে উপাদানগুলি মুছে ফেলার মাধ্যমে প্রাপ্ত করা যেতে পারে

  3. সর্বাধিক ক্যান্ডি আপনি C++ এ বক্স থেকে পেতে পারেন

  4. C++ এ তিনটি স্ট্যাকের সর্বোচ্চ সম্ভাব্য সমান সমষ্টি খুঁজুন