zoukankan      html  css  js  c++  java
  • Problem E

    经典的括号匹配问题。

    遇到匹配的括号则出栈,否则匹配失败退出循环,最后若没有匹配失败的情况且栈为空输出yes,否则输出no。

    map<char,char> mp;
    
    int main()
    {
        mp['(']=')';
        mp['[']=']';
        mp['{']='}';
    
        int T;
        cin>>T;
        while(T--)
        {
            stack<char> stk;
            string s;
            cin>>s;
    
            bool ok=true;
            for(int i=0;i<s.size();i++)
                if(s[i] == '(' || s[i] == '[' || s[i] == '{')
                    stk.push(s[i]);
                else if(s[i] == ')' || s[i] == ']' || s[i] == '}')
                {
                    if(stk.size() && mp[stk.top()] == s[i])
                        stk.pop();
                    else
                    {
                        ok=false;
                        break;
                    }
                }
    
            if(!ok || !stk.empty()) puts("no");
            else puts("yes");
        }
        //system("pause");
        return 0;
    }
    
  • 相关阅读:
    洛谷 P1604 B进制星球
    629D
    。。。。。
    新安排
    计算几何的两道题
    cf C题
    昨天
    最近几天的安排
    最近几天
    杂论——持续更新。
  • 原文地址:https://www.cnblogs.com/fxh0707/p/14430594.html
Copyright © 2011-2022 走看看