题目链接:http://codeforces.com/contest/612/problem/C
解题思路:
题意就是要求判断这个序列是否为RBS,每个开都要有一个和它对应的关,如:<()>满足条件,但<(>)就不满足条件,反正直接就是用栈做就行了,完美符合题目要求。
#includeusing namespace std;stack st;/*struct node{ int num,id;}a[200009];bool cmp(const node x,const node y){ return x.num >s; int ans =0,i; for(i=0;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< <