কম্পিউটার

C++ প্রোগ্রাম আমরা সঠিক ক্রমে রঙিন কক্ষে ডোমিনো স্থাপন করতে পারি কি না তা পরীক্ষা করতে


ধরুন আমাদের পাঁচটি সংখ্যা আছে n, k1, k2, w এবং b। প্রথম সারিতে 2 x n কোষ এবং প্রথম k1 কোষ সহ একটি বোর্ড রয়েছে, দ্বিতীয় সারির প্রথম k2 ঘরগুলি সাদা রঙে রঙিন। অন্য সব কোষ কালো। আমাদের w সাদা ডোমিনো এবং b কালো ডোমিনো (2 x 1 আকার) রয়েছে। আমরা বোর্ডে একটি সাদা ডোমিনো রাখতে পারি যদি উভয় বোর্ডের কক্ষ সাদা হয় এবং অন্য কোনো ডোমিনো দ্বারা দখল করা না হয়। একইভাবে, একটি কালো ডোমিনো স্থাপন করা যেতে পারে যদি উভয় কক্ষ কালো হয় এবং অন্য কোন ডোমিনো দ্বারা দখল করা না হয়। আমাদের পরীক্ষা করতে হবে যে আমরা সমস্ত w + b ডোমিনোগুলিকে বোর্ডে রাখতে পারি কিনা যদি সেগুলি অনুভূমিকভাবে এবং উল্লম্বভাবে স্থাপন করা হয়?

সুতরাং, যদি ইনপুট n =5 এর মত হয়; k1 =4; k2 =3; w =3; b =1, তাহলে আউটপুট হবে True।

পদক্ষেপ

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

if 2 * w <= (k1 + k2) and 2 * b <= (n - k1 + n - k2), then:
   return true
Otherwise
   return false

উদাহরণ

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

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

bool solve(int n, int k1, int k2, int w, int b) {
   if (2 * w <= (k1 + k2) && 2 * b <= (n - k1 + n - k2)) {
      return true;
   }
   else {
      return false;
   }
}
int main() {
   int n = 5;
   int k1 = 4;
   int k2 = 3;
   int w = 3;
   int b = 1;
   cout << solve(n, k1, k2, w, b) << endl;
}

ইনপুট

5, 4, 3, 3, 1

আউটপুট

1

  1. একটি অ্যারে প্যালিনড্রোম কিনা বা C++ এ STL ব্যবহার করছে না তা পরীক্ষা করার জন্য প্রোগ্রাম

  2. C++ এ তিনটি বিন্দু সমরেখার কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. একটি ম্যাট্রিক্স বাইনারি ম্যাট্রিক্স নাকি C++ এ নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. C++-এ idempotent ম্যাট্রিক্স চেক করার প্রোগ্রাম