কম্পিউটার

C++ এ সমস্ত ব্যানার ঝুলানোর জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক পিনের সন্ধান করার জন্য প্রোগ্রাম


ধরুন আমাদের কাছে ফর্মের অন্তর্বর্তীগুলির একটি তালিকা রয়েছে [শুরু, শেষ] এটি ব্যানারগুলির শুরু এবং শেষ পয়েন্টগুলিকে উপস্থাপন করে যা আমরা ঝুলতে চাই৷ একটি ব্যানার ঝুলানোর জন্য কমপক্ষে একটি পিন প্রয়োজন এবং একটি পিন একাধিকবার ব্যানার ঝুলিয়ে দিতে পারে। আমাদের সমস্ত ব্যানার ঝুলানোর জন্য প্রয়োজনীয় ক্ষুদ্রতম সংখ্যক পিনের সন্ধান করতে হবে৷

সুতরাং, যদি ইনপুটটি অন্তরের মত হয় =[[2, 5],[5, 6],[8, 10],[10, 13]], তাহলে আউটপুট হবে 2, যেমন আমরা অবস্থানে দুটি পিন রাখতে পারি। 5 এবং 10 সব ব্যানার টাঙানোর জন্য।

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

  • ব্যবধানের শেষ মানের উপর ভিত্তি করে অ্যারে v সাজান
  • ret :=0
  • শেষ :=-inf
  • প্রতিটি আইটেমের জন্য এটি v −
    • যদি শেষ হয়>=এর শুরু, তারপর −
      • নিম্নলিখিত অংশ উপেক্ষা করুন, পরবর্তী পুনরাবৃত্তিতে যান
    • (রেট 1 দ্বারা বৃদ্ধি করুন)
    • শেষ :=এর শেষ
  • রিটার্ন রিটার্ন

উদাহরণ (C++)

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

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   static bool cmp(vector<int>& a, vector<int>& b) {
      return a.back() < b.back();
   }
   int solve(vector<vector<int>>& v) {
      sort(v.begin(), v.end(), cmp);
      int ret = 0;
      int last = -1e8;
      for (auto& it : v) {
         if (last >= it[0]) {
            continue;
         }
         ret++;
         last = it[1];
      }
      return ret;
   }
};
int solve(vector<vector<int>>& intervals) {
   return (new Solution())->solve(intervals);
}
int main(){
   vector<vector<int>> v = {{2, 5},{5, 6},{8, 10},{10, 13}};
   cout << solve(v);
}

ইনপুট

{{2, 5},{5, 6},{8, 10},{10, 13}}

আউটপুট

2

  1. C++ এ প্রতিপক্ষকে ধরার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক ধাপ খুঁজে বের করার প্রোগ্রাম

  2. C++ ব্যবহার করে অ্যারের সমস্ত উপাদান মুছে ফেলার জন্য ন্যূনতম সংখ্যক অপারেশন প্রয়োজন।

  3. গ্রাফ সংযোগ বিচ্ছিন্ন করার জন্য কাট করার জন্য ন্যূনতম সংখ্যক প্রান্ত খুঁজে বের করার জন্য C++ প্রোগ্রাম

  4. একটি গ্রাফে আর্টিকুলেশন পয়েন্টের সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম