NYOJ 2 括号配对问题
来源:互联网 发布:怎么做淘宝生意好起来 编辑:程序博客网 时间:2024/05/17 02:57
括号配对问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
- 样例输入
3[(])(])([[]()])
- 样例输出
NoNoYes
- 来源
- 网络
- 上传者
naonao
思路:每次消掉对应的括号 如果在消掉一种括号的时候里面还有另一种括号没有被消掉就No了 当然最后要全部消掉才Yes 第一次用栈做题
#include<stdio.h>#include<stack>//栈的应用 using namespace std;char str[10010];int main(){ int t,i,flag; scanf("%d",&t); while(t--) { stack<char>ss; scanf("%s",&str); flag=1; for(i=0; str[i]!=0; i++) { if(str[i]=='('||str[i]=='[') ss.push(str[i]);//在栈顶增加元素 else { if(str[i]==')') { if(ss.size()&&ss.top()=='(')//返回栈中元素数目 返回栈顶元素 { ss.pop();//移除栈顶元素 } else { flag=0; break; } } else { if(ss.size()&&ss.top()=='[') { ss.pop(); } else { flag=0; break; } } } } if(!flag||ss.size()) printf("No\n"); else printf("Yes\n"); } return 0;}
阅读全文
0 0
- NYOJ 2 括号配对问题
- NYoj 2 括号配对问题
- NYOJ-2:括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2--括号配对问题
- nyoj-2-括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2 括号配对问题
- NYoj 2 括号配对问题
- NYOJ 2 括号配对问题
- NYOJ-2 括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2 括号配对问题
- NYOJ 2 括号配对问题
- FPGA vs GPU
- 关于文件写入的原子性讨论
- spark【例子】同类合并、计算(主要使用groupByKey)
- 医疗设备上会用到的小容量存储芯片
- selenium操作隐藏的元素
- NYOJ 2 括号配对问题
- 公众号,求关注
- effective c++ item2总结:以编译器替换预处理器
- 微信小程序本地图片处理--按屏幕尺寸插入图片
- rgb和raw rgb的区别
- Python:functools partial详解
- 编译好FFmpeg后如何使用
- Iaas、Paas、Saas之间的区别
- idea结合git使用