কম্পিউটার

C++ এ নির্দিষ্ট সময়ে সারির বিন্যাস খুঁজুন


এই সমস্যায়, আমাদেরকে শুধুমাত্র 'M' এবং 'F' অক্ষর এবং একটি টাইম t দিয়ে গঠিত একটি স্ট্রিং দেওয়া হয়েছে। আমাদের কাজ হল একটি নির্দিষ্ট সময়ে সারির বিন্যাস খুঁজে পাওয়া .

স্ট্রিংটি বাসে প্রবেশের জন্য একটি সাধারণ সারিতে দাঁড়িয়ে থাকা লোকদের সংজ্ঞায়িত করে। সারিতে থাকা সমস্ত পুরুষরা এতটাই সাহসী যে কোনও সময় তাদের পিছনে কোনও মহিলা দেখলে তারা তাদের সাথে স্থান বিনিময় করে। বাসে প্রবেশের জন্য টি ইউনিট সময় বাকি আছে এবং প্রতিটি বিনিময়ে এক ইউনিট সময় লাগে। বাস আসার সময় সারি সাজিয়ে আমাদের অবস্থান খুঁজে বের করতে হবে।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

Input : queue = "MFMMFF" , t = 3
Output : FFMFMM

ব্যাখ্যা

In T = 0 -> 1, 'M' at position 1 changes position with 'W' at 2 and 'M' at position 4 changes position with 'W' at 5. Queue becomes - "FMMFMF".
In T = 0 -> 1, 'M' at position 3 changes position with 'W' at 4 and 'M' at position 5 changes position with 'W' at 6. Queue becomes - "FMFMFM".
In T = 0 -> 1, 'M' at position 2 changes position with 'W' at 3 and 'M' at position 4 changes position with 'W' at 5. Queue becomes - "FFMFMM".

সমাধান পদ্ধতি

সমস্যা সমাধানের জন্য একটি সহজ পদ্ধতি হল সারি T বার প্রতিনিধিত্বকারী স্ট্রিংটি অতিক্রম করে। "MF" জোড়ার উপস্থিতি খুঁজুন এবং M এবং F এর অবস্থানগুলিকে অদলবদল করুন। এবং শেষ পর্যন্ত চূড়ান্ত স্ট্রিংটি ফেরত দিন।

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম

#include <iostream>
using namespace std;
string rearrageQueue(int n, int t, string queue) {
   for (int i = 0; i < t; i++)
      for (int j = 0; j < n - 1; j++)
         if (queue[j] == 'M' && queue[j + 1] == 'F') {
            queue[j] = 'F';
            queue[j + 1] = 'M';
            j++;
         }
   return queue;
}
int main() {
   int n = 6, t = 3;
   string queue = "MFMMFF";
   cout<<"The queue after time is over : "<<rearrageQueue(n, t, queue);
   return 0;
}

আউটপুট

The queue after time is over : FFMFMM

  1. C++ এ প্রদত্ত প্রাইম দ্বারা nCr বিভাজ্য কিনা তা খুঁজুন

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

  3. প্রদত্ত পুনরাবৃত্তিকারীর ধরন খুঁজে পেতে C++ প্রোগ্রাম

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