poj1068Parencodings
来源:互联网 发布:air打电话软件 编辑:程序博客网 时间:2024/06/16 02:03
水题一道,分两种情况考虑,当右括号前面是左括号直接就是1,否则就加入栈然后往前找
#include <iostream>#include <string.h>#include <stack>using namespace std;int a[105],b[105];char s[105];int T,n;stack<int>q;int main(){ cin>>T; while(T--) { int k=0,sum=0; memset(a,0,sizeof(a)); memset(s,0,sizeof(s)); cin>>n; for(int i=1; i<=n; i++) { cin>>a[i]; int ans=a[i]-a[i-1]; while(ans--) s[k++]='('; s[k++]=')'; } for(int i=0; i<k; i++) { while(!q.empty()) q.pop(); if(s[i]==')') { if(s[i-1]=='(') b[++sum]=1; else if(s[i-1]==')') { int ans=i,sum2=0; q.push(')'); while(ans--) { if(s[ans]=='(') { sum2++; q.pop(); } else if(s[ans]==')') q.push(')'); if(q.empty()) break; } b[++sum]=sum2; } } } for(int i=1; i<=sum; i++) cout<<b[i]<<" "; cout<<endl; } return 0;}
0 0
- poj1068Parencodings
- poj1068Parencodings
- poj1068Parencodings
- poj1068Parencodings
- POJ1068Parencodings
- Android 代码实现查看SQLite数据库中的表
- 读《深度探索C++对象模型》之对象成员的效率
- PHP的mysqli扩展
- 山寨Besiege(三)需求分析与架构设计
- linux curl命令详解
- poj1068Parencodings
- Ext.grid.Panel中stateId的作用
- Android Gradle Plugin指南(二)——基本项目
- 我的目标
- 常用排序算法总结(三)
- [Unity热更新]tolua# & LuaFramework(十):扩展工具包
- 让这份情与爱有最美好的归宿
- Python 迭代工具
- 单行注释和多行注释