B.
YetnotherrokenKeoard
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Polycarp has a problem — his laptop keyboard is broken.
Now, when he presses the 'b' key, it acts like an unusual backspace: it deletes the last (rightmost) lowercase letter in the typed string. If there are no lowercase letters in the typed string, then the press is completely ignored.
Similarly, when he presses the 'B' key, it deletes the last (rightmost) uppercase letter in the typed string. If there are no uppercase letters in the typed string, then the press is completely ignored.
In both cases, the letters 'b' and 'B' are not added to the typed string when these keys are pressed.
Consider an example where the sequence of key presses was "ARaBbbitBaby". In this case, the typed string will change as follows: "" →A→A "A" →R→R "AR" →a→a "ARa" →B→B "Aa" →b→b "A" →b→b "A" →i→i "Ai" →t→t "Ait" →B→B "it" →a→a "ita" →b→b "it" →y→y "ity".
Given a sequence of pressed keys, output the typed string after processing all key presses.
Input
The first line of the input data contains an integer t� (1≤t≤10001≤�≤1000), the number of test cases in the test.
The following contains t� non-empty lines, which consist of lowercase and uppercase letters of the Latin alphabet.
It is guaranteed that each line contains at least one letter and the sum of the lengths of the lines does not exceed 106106.
Output
For each test case, output the result of processing the key presses on a separate line. If the typed string is empty, then output an empty line.
Example
input
Copy
12
ARaBbbitBaby
YetAnotherBrokenKeyboard
Bubble
Improbable
abbreviable
BbBB
BusyasaBeeinaBedofBloomingBlossoms
CoDEBARbIES
codeforces
bobebobbes
b
TheBBlackbboard
output
Copy
ity YetnotherrokenKeoard le Imprle revile usyasaeeinaedofloominglossoms CDARIES codeforces es helaoard
12
#include <iostream>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
string a,b="";
cin>>a;
int m1=0,m2=0,j=0;
for(int i=a.size()-1;i>=0;i--)
{
if(a[i]=='B') m1++;
else if(a[i]>='a'&&a[i]<='z')
{
if(m2>0) m2--;
else b+=a[i];
}
else if(a[i]=='b') m2++;
else
{
if(m1>0) m1--;
else b+=a[i];
}
}
for(int i=b.size()-1;i>=0;i--) cout<<b[i];
cout<<endl;
}
return 0;
}