题目见描述
思路:考察了对栈的理解运用:只要遇到a就入栈,遇到b就让a出栈,如果此时出现栈空则返回false,最后检查一下如果栈不为空也返回false
代码:

#include <iostream>
#include <stack>
#include <algorithm>

using namespace std;

string str;
stack<char> stk;

int main()
{
    cin >> str;

    bool flag = true;
    for (int i = 0; i < str.size(); i ++ )
    {
        if (str[i] == 'a') stk.push('a');
        else
        {
            if (stk.empty())
            {
                flag = false;
                break;
            }
            stk.pop();
        }
    }
    if (!stk.empty()) flag = false;

    if (flag) cout << "Good" << endl;
    else cout << "Bad" << endl;

    return 0;
}