NYOJ H. 括号配对问题
来源:互联网 发布:python 遗传算法 股票 编辑:程序博客网 时间:2024/06/05 14:17
H. 括号配对问题
现在,有一行括号序列,请你检查这行括号是否配对。
Input
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
Output
每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
Sample Input
3[(])(])([[]()])
Sample Output
NoNoYes
代码:
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;char a[10005],s[10005];int main(){ int t; scanf("%d",&t); while(t--) { scanf("%s",a); int len=strlen(a); int top=0; for(int i=0;i<len;i++) { if(a[i]=='('||a[i]=='[') //先存入左括号 { top++; s[top]=a[i]; } else //如果是右括号就配对,如果能配对就去掉与此配对的左括号 { if(s[top]=='('&&a[i]==')') top--; else if(s[top]=='['&&a[i]==']') top--; else top++; } } if(top==0) //如果能全部配对就输出Yes printf("Yes\n"); else //否则输出No printf("No\n"); } return 0;}
阅读全文
0 0
- NYOJ H. 括号配对问题
- NYOJ - 括号配对问题
- nyoj 括号配对问题
- NYOJ【括号配对问题】
- NYOJ-括号配对问题
- nyoj 括号配对问题
- NYOJ 括号配对问题
- nyoj括号配对问题
- nyoj 括号配对问题
- NYOJ-括号配对问题
- NYOJ 括号配对问题
- NYOJ - 括号配对问题
- NYOJ-括号配对问题
- nyoj 括号配对问题
- NYOJ 括号配对问题
- nyoj 括号配对问题
- 【NYOJ】括号配对问题
- NYOJ 括号配对问题
- 利用java编写百钱买百鸡
- 还是A+B问题,不过是大数A+B,T组输入,样例输入 2 1 2 112233445566778899 998877665544332211 样例输出 Case 1: 1 + 2 = 3 Case 2
- java多线程 run() 与start()方法的区别
- Sql Server2008服务远程过程调用失败
- CentOS7 REDIS数据库单机版配置
- NYOJ H. 括号配对问题
- install PyQt4
- SVM算法 理论
- python基础-random、os模块、异常处理模块
- unity5.X AB包打包插件研究
- AngularJS路由代码案例
- javascript中创建文本节点createTextNode
- 迁移机房顺序
- 2017.11.15(let,closure)