洛谷-P 1739式かっこマッチング

969 ワード

洛谷-P 1739式かっこマッチング
原題リンク:https://www.luogu.com.cn/problem/P1739
  • タイトル説明
  • 入力フォーマット
  • 出力フォーマット
  • 入出力サンプル
  • 説明/ヒント
  • C++コード
  • タイトルの説明
    1つの式に英字(小文字)、演算子(+、—、*、/)と左右の小さい(円)カッコで構成され、式の最後の文字として「@」が使用されるとします.式の左と右のカッコが一致するかどうかを確認するプログラムを作成し、一致する場合は「YES」を返します.そうでない場合は「NO」を返します.式の長さは255未満、左のカッコは20未満です.
    入力フォーマット
    行:式
    出力フォーマット
    一行:「YES」または「NO」
    入出力サンプル
    入力#1
    2*(x+y)/(1-x)@
    

    出力#1
    YES
    

    入力#2
    (25+x)*(a*(a+b+b)@
    

    出力#2
    NO
    

    説明/ヒント
    式の長さは255未満、左かっこは20未満
    C++コード
    #include 
    using namespace std;
    
    int main() {
        int ans=0;
        char x;
        cin>>x;
        while(x!='@'&&ans>=0) {
            if(x=='(')
                ++ans;
            else if(x==')')
                --ans;
            cin>>x;
        }
        if(ans==0)
            cout<