কম্পিউটার

C++ সংখ্যক গ্রুপ বের করার জন্য প্রোগ্রামারদের সেট থেকে গঠন করা যেতে পারে


ধরুন আমাদের n উপাদান সহ একটি অ্যারে A আছে। A[i] ith শিক্ষার্থীর প্রোগ্রামিং দক্ষতার প্রতিনিধিত্ব করে। A এর সমস্ত উপাদান আলাদা। আমরা তাদের এমনভাবে দলে বিভক্ত করতে চাই যাতে −

  • কোন দুই ছাত্র i এবং j নয়, যেমন |A[i] - A[j]| =1 একই দলের অন্তর্গত

  • দলের সংখ্যা সর্বনিম্ন সম্ভাব্য।

সুতরাং, যদি ইনপুটটি A =[2, 3, 4, 99, 100] এর মত হয়, তাহলে আউটপুট হবে 2, কারণ গ্রুপগুলি হল [2, 3, 4] এবং [99, 100]

পদক্ষেপ

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

dem := 1
sort the array A
for initialize i := 1, when i < size of A, update (increase i by 1), do:
   if A[i] - A[i - 1] is same as 1, then:
      dem := 2
   return dem

উদাহরণ

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

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

int solve(vector<int> A) {
   int dem = 1;
   sort(A.begin(), A.end());
   for (int i = 1; i < A.size(); i++)
      if (A[i] - A[i - 1] == 1)
         dem = 2;
   return dem;
}
int main() {
   vector<int> A = { 2, 3, 4, 99, 100 };
   cout << solve(A) << endl;
}

ইনপুট

{ 2, 3, 4, 99, 100 }

আউটপুট

2

  1. C++ এ একটি দাবাবোর্ডে স্কোয়ারের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. C++ এ দুটি গ্রুপ থেকে সর্বোচ্চ 3-জনের দল গঠিত হয়েছে

  3. C++ এ একটি প্রদত্ত সংখ্যার সংখ্যা ব্যবহার করে তৈরি করা যেতে পারে এমন সর্বাধিক সংখ্যা খুঁজুন

  4. C++ এ তাদের ভ্যালেন্স সংখ্যা ব্যবহার করে 3টি পরমাণু থেকে একটি অণু তৈরি হতে পারে কিনা তা খুঁজুন