stack实现 括号匹配 51nod 1289 大鱼吃小鱼

来源:互联网 发布:uu淘宝店 编辑:程序博客网 时间:2024/06/02 15:04




#include<iostream>#include<stack>#include<queue>using namespace std;int main(){string a;int n;cin>>n;for(;n;n--){stack<char> str;char c;cin>>a;int len=a.size();str.push(a[0]);//第一个入栈for(int i=1;i<len;i++){if(str.empty()){str.push(a[i]);continue;}c=str.top();if(c=='['&&a[i]==']'||c=='('&&a[i]==')')str.pop();///删除第一个  匹配成功else  //否则 就入栈str.push(a[i]);}if(str.empty())cout<<"Yes"<<endl;elsecout<<"No"<<endl;}return 0;}



大鱼吃小鱼 stack实现:
#include<iostream>using namespace std;#include<stack>int a[100000],b[100000];int main(){stack<int> str;int n;cin>>n;int d=0,c=0;for(int i=0;i<n;i++){cin>>a[i]>>b[i];if(b[i]==0){if(c>a[i])continue;str.push(a[i]);if(d)d--;}elsed++,c=a[i];}cout<<str.size()+d<<endl;return 0;}


原创粉丝点击