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

C++ প্রোগ্রাম: গেস্ট রিকর্ড থেকে রুম স্ট্যাটাস বের করা

একটি হোটেলে ১০টি রুম (০-৯)। দুটি এন্ট্রি: বাম ও ডান। 'L' = বাম দিক থেকে এসে খালি রুম নেওয়া, 'R' = ডান দিক থেকে, অঙ্ক d = d নম্বর রুম খালি করা। প্রাথমিকতে সব রুম খালি। স্ট্রিং S থেকে ফাইনাল রুম স্ট্যাটাস বের করতে হবে (০=খালি, ১=ভরা)।

উদাহরণ

S = "LLRL1RL1" → আউটপুট: "1010000011"

প্রক্রিয়া: L→1000000000, L→1100000000, R→1100000001, L→1110000001, 1→1010000001, R→1010000011, L→1110000011, 1→1010000011

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

স্ট্রিং 'a' = "0000000000" দিয়ে শুরু করুন। S-র প্রতিটি ক্যারেক্টার জন্য: 'L' হলে বামপাশের প্রথম '0' কে '1' করুন, 'R' হলে ডানপাশের শেষ '0' কে '1' করুন, অঙ্ক হলে সেটি '0' করুন।

উদাহরণ

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

string solve(string S) { 
    int n = S.size(); 
    string a = "0000000000"; 
    for (int i = 0; i < n; i++) { 
        if (S[i] == 'L') a[a.find('0')] = '1'; 
        else if (S[i] == 'R') a[a.rfind('0')] = '1'; 
        else a[S[i] - '0'] = '0'; 
    } 
    return a; 
} 

int main() { 
    string S = "LLRL1RL1"; 
    cout << solve(S) << endl; 
    return 0; 
}

ইনপুট

"LLRL1RL1"

আউটপুট

1010000011
  1. বাইনারি ট্রিতে সবচেয়ে গভীর বাম পাতা (Deepest Left Leaf) বের করার C++ প্রোগ্রাম

  2. C++ প্রোগ্রাম: LCM (লঘুতম সাধারণ গুণিতক) নির্ণয়

  3. C++ প্রোগ্রাম: GCD (মহত্তম সাধারণ ভাজক) নির্ণয়

  4. C++ প্রোগ্রাম: ফ্যাক্টোরিয়াল (Factorial) নির্ণয়