题目链接: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 =,i;
for(i=;i<s.size();i++){
if(s[i] == ']'){
if(st.size() == ) return puts("Impossible");
if(st.top() == '[')
st.pop();
else{
ans++; st.pop();
}
}
else if(s[i]=='>'){
if(st.size() == ) return puts("Impossible");
if(st.top() == '<')
st.pop();
else{
ans++; st.pop();
}
}
else if(s[i]=='}'){
if(st.size() == ) return puts("Impossible");
if(st.top() == '{')
st.pop();
else{
ans++; st.pop();
}
}
else if(s[i]==')'){
if(st.size() == ) return puts("Impossible");
if(st.top() == '(')
st.pop();
else{
ans++; st.pop();
}
}
else
st.push(s[i]);
}
if(st.size()==)
cout<<ans<<endl;
else
cout<<"Impossible"<<endl;
}

Educational Codeforces Round 4 C. Replace To Make Regular Bracket Sequence的更多相关文章

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

    C. Replace To Make Regular Bracket Sequence 题目连接: http://www.codeforces.com/contest/612/problem/C De ...

  2. Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence (思维)

    Codeforces Round #529 (Div. 3) 题目传送门 题意: 给你由左右括号组成的字符串,问你有多少处括号翻转过来是合法的序列 思路: 这么考虑: 如果是左括号 1)整个序列左括号 ...

  3. Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence(思维)

    传送门 题意: 给你一个只包含 '(' 和 ')' 的长度为 n 字符序列s: 给出一个操作:将第 i 个位置的字符反转('(' ')' 互换): 问有多少位置反转后,可以使得字符串 s 变为&quo ...

  4. Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence (思维,模拟栈)

    题意:给你一串括号,每次仅可以修改一个位置,问有多少位置仅修改一次后所有括号合法. 题解:我们用栈来将这串括号进行匹配,每成功匹配一对就将它们消去,因为题目要求仅修改一处使得所有括号合法,所以栈中最后 ...

  5. CodeForces - 612C Replace To Make Regular Bracket Sequence 压栈

    C. Replace To Make Regular Bracket Sequence time limit per test 1 second memory limit per test 256 m ...

  6. Replace To Make Regular Bracket Sequence

    Replace To Make Regular Bracket Sequence You are given string s consists of opening and closing brac ...

  7. D - Replace To Make Regular Bracket Sequence

    You are given string s consists of opening and closing brackets of four kinds <>, {}, [], (). ...

  8. CF 612C. Replace To Make Regular Bracket Sequence【括号匹配】

    [链接]:CF [题意]:给你一个只含有括号的字符串,你可以将一种类型的左括号改成另外一种类型,右括号改成另外一种右括号 问你最少修改多少次,才能使得这个字符串匹配,输出次数 [分析]: 本题用到了栈 ...

  9. Educational Codeforces Round 4

    612A - The Text Splitting    20171121 简单字符串处理题 #include<stdlib.h> #include<stdio.h> #inc ...

随机推荐

  1. Oracle 在存储过程或函数中执行字符串sql

    有时,我们需要在存储过程或函数中根据条件拼凑一些sql字符串语句,然后再执行拼凑后的sql字符串,如何做到呢? 参考以下代码: FUNCTION CALCULATE_TARGET_SCORE (CUR ...

  2. Missing value auth-url required for auth plugin password

    在控制台输入openstack相关命令时提示如下: openstack user list Missing value auth-url required for auth plugin passwo ...

  3. Bayesian Personalized Ranking 算法解析及Python实现

    1. Learning to Rank 1.1 什么是排序算法 为什么google搜索 ”idiot“ 后,会出现特朗普的照片? “我们已经爬取和存储了数十亿的网页拷贝在我们相应的索引位置.因此,你输 ...

  4. 面试2——java基础1

    1.int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象 ...

  5. synchronized和Lock的异同

    JAVA语言使用两种机制来实现堆某种共享资源的同步,synchronized和Lock.其中,synchronized使用Object对象本身的notify.wait.notifyAll调度机制,而l ...

  6. Verilog设计Valid-Ready握手协议

    转自http://ninghechuan.com 我不生产知识,我只是知识的搬运工. Handshake Protocol握手协议!为了保证数据传输过程中准确无误,我们需要加上握手信号来控制信号的传输 ...

  7. Bluedroid 函数分析:bta_dm_gattc_register

    我们先来看看在bluedroid 里面有多少地方调用到这里: 可以看出除了 它自己声明的地方,有三处 调用到这个函数. 一处是 进行discovery,一处是进行search的时候,还有一次是bta_ ...

  8. ExtJS初探:了解 Ext Core

    Ext Core是一款和jQuery媲美的轻型JS库,基于MIT许可.对于Dom的操作,我个人还是比较喜欢用jQuery.当然如果项目中用的是ExtJS框架,也就没必要多引用一个jQuery,Ext ...

  9. vue 项目引入字体报错

    vue 项目引入特殊字体,总是提示有问题 原因是,在webpack 里面的配置有问题 在项目文件里面引入字体的时候,应该写url-loader 而不能是url

  10. 『编程题全队』Beta 阶段冲刺博客一

    1.提供当天站立式会议照片一张 2.每个人的工作 (有work item 的ID) (1) 昨天已完成的工作 孙志威: 1.讨论并制定了Beta阶段的计划 孙慧君: 1.Beta阶段任务的认领 黄华林 ...