একটি হোটেলে ১০টি রুম (০-৯)। দুটি এন্ট্রি: বাম ও ডান। '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