এক্সপ্রেশন দেওয়া আছে। ব্র্যাকেটের নম্বর সিকোয়েন্স প্রিন্ট করতে হবে।
উদাহরণ: ইনপুট: "((()())())" → আউটপুট: 1233442551
- leftBracket = 1, স্ট্যাক rightBracket খালি।
- '(' পেলে leftBracket প্রিন্ট করুন, স্ট্যাকে পুশ করুন, leftBracket++।
- ')' পেলে স্ট্যাকে 탑 প্রিন্ট করুন, পপ করুন।
#include <bits/stdc++.h>
using namespace std;
void bracketCount(string expression, int n) {
int leftBracket = 1;
stack<int> rightBracket;
for (int i = 0; i < n; i++) {
if (expression[i] == '(') {
cout << leftBracket << " ";
rightBracket.push(leftBracket);
leftBracket++;
} else if (expression[i] == ')') {
cout << rightBracket.top() << " ";
rightBracket.pop();
}
}
}
int main() {
string expression = "()((())()())";
int n = expression.size();
bracketCount(expression, n);
return 0;
}
1 1 2 3 4 4 3 5 5 6 6 2