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

সি++ কোড: উপাদানগুলো রঙ করতে ন্যূনতম কালার গণনা করুন

একটি অ্যারে A দেওয়া আছে n উপাদানের সাথে। উপাদানগুলো রঙ করতে হবে এমনভাবে যে:

  • যদি কোনো রঙ বিবেচনা করা হয়, তাহলে সেই রঙের সব উপাদান সেই রঙের ন্যূনতম উপাদান দিয়ে বিভাজ্য হতে হবে।
  • ব্যবহৃত রঙের সংখ্যা ন্যূনতম রাখতে হবে।

সব সংখ্যা বৈধভাবে রঙ করার জন্য ন্যূনতম কতটি রঙ লাগবে তা বের করতে হবে।

উদাহরণ

A = [10, 2, 3, 5, 4, 2] → আউটপুট: 3
ব্যাখ্যা: প্রথম রঙে A[0] এবং A[3], دوم রঙে A[2], তৃতীয় রঙে বাকি তিনটি উপাদান।

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

n := A-এর সাইজ
ans := 0
sort(A)
for i := 0 to n-1:
    ok := 1
    for j := 0 to i-1:
        ok := ok AND (A[i] % A[j] != 0)
    ans += ok
return ans

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

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

int solve(vector<int> A) {
    int n = A.size(), ans = 0;
    sort(A.begin(), A.end());
    for (int i = 0; i < n; i++) {
        int ok = 1;
        for (int j = 0; j < i; j++)
            ok &= (A[i] % A[j] != 0);
        ans += ok;
    }
    return ans;
}

int main() {
    vector<int> A = {10, 2, 3, 5, 4, 2};
    cout << solve(A) << endl;
}

ইনপুট

{ 10, 2, 3, 5, 4, 2 }

আউটপুট

3
  1. C++ কোড: কয়টি শিটের প্যাক কিনতে হবে গণনা

  2. সি++ কোড: দ্বিতীয় দিনের পাইল কাউন্ট বৈধ কিনা যাচাই করুন

  3. সি++ কোড: রোবটের ফাইনাল পজিশন পাওয়ার জন্য ন্যূনতম স্টেপ গণনা করুন

  4. C++-এ সমতল তলে পারালেলোগ্রাম গণনা: মিডপয়েন্ট পদ্ধতি