吐泡泡
#include <iostream>
#include <algorithm>
#include <cstring>
#include <stack>
using namespace std;
char a[110];
stack<char> stk;
int main()
{
while(cin >> a + 1)
{
for(int i = 1; i <= strlen(a + 1); i ++)
{
//如果栈空或者两个泡泡不一样就直接进栈
if(stk.empty() || a[i] != stk.top()) stk.push(a[i]);
else if(a[i] == 'o' && stk.top() == 'o')//合并两个o
{
stk.pop();
if(stk.empty() || stk.top() != 'O') stk.push('O');//上一个泡泡不能也是O才能插入
else if(stk.top() == 'O') stk.pop();//上一个是O就爆掉
}
else if(a[i] == 'O' && stk.top() == 'O') stk.pop();//两个O就会宝典
}
string s = "";
while(!stk.empty())
{
s += stk.top();
stk.pop();
}
reverse(s.begin(), s.end());//逆序输出
cout << s << endl;
}
return 0;
}