• Educational Codeforces Round 4 C. Replace To Make Regular Bracket Sequence


    题目链接:http://codeforces.com/contest/612/problem/C

    解题思路:

    题意就是要求判断这个序列是否为RBS,每个开都要有一个和它对应的关,如:<()>满足条件,但<(>)就不满足条件,反正直接就是用栈做就行了,完美符合题目要求。

    #include <bits/stdc++.h>
    using namespace std;
    stack<char>st;
    /*struct node{
        int num,id;
    }a[200009];
    bool cmp(const node x,const node y){
        return x.num<y.num;
    }*/
    int main()
    {
        string s;
        cin>>s;
        int ans =0,i;
        for(i=0;i<s.size();i++){
            if(s[i] == ']'){
                if(st.size() == 0)  return puts("Impossible");
                if(st.top() == '[')
                    st.pop();
                else{
                    ans++; st.pop();
                }
            }
            else if(s[i]=='>'){
                if(st.size() == 0)  return puts("Impossible");
                if(st.top() == '<')
                    st.pop();
                else{
                    ans++; st.pop();
                }
            }
            else if(s[i]=='}'){
                if(st.size() == 0)  return puts("Impossible");
                if(st.top() == '{')
                    st.pop();
                else{
                    ans++; st.pop();
                }
            }
            else if(s[i]==')'){
                if(st.size() == 0)  return puts("Impossible");
                if(st.top() == '(')
                    st.pop();
                else{
                    ans++; st.pop();
                }
            }
            else
                st.push(s[i]);
        }
        if(st.size()==0)
        cout<<ans<<endl;
        else
        cout<<"Impossible"<<endl;
    }
  • 相关阅读:
    尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言
    Java 还是 C++?
    计划的回报
    阶段4:校订
    阶段3:开始创建
    阶段2:如何构建?
    阶段1:要制作什么?
    阶段0:拟出一个计划
    不要迷失
    分析和设计
  • 原文地址:https://www.cnblogs.com/kls123/p/7131495.html
Copyright © 2020-2023  润新知