ACM在线练习-括号配对问题
来源:互联网 发布:如何看待网络暴力演讲 编辑:程序博客网 时间:2024/06/09 14:27
括号配对问题
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
- 样例输入
3[(])(])([[]()])
- 样例输出
NoNoYes
- 思路:模拟栈进行操作
- 如果输入[,(则将它们入栈,当前输入字符如果是右括号且与紧邻上一个字符匹配,则将紧邻的上一个字符出栈,如果不匹配则括号序列出错.
- 如果进行的一系列匹配操作过程不出错,则最后栈为空,即是正确的括号序列.
#include<iostream>using namespace std;struct Stack { char str[100]; int i;//入栈的编号 };int main(){ int N; char c; Stack stack; cin>>N; getchar(); while(N) { stack.i=-1; while((c=getchar())!='\n') { if(c=='['||c=='(') stack.str[++stack.i]=c; else if((stack.str[stack.i]=='['&&c==']')||(stack.str[stack.i]=='('&&c==')')) stack.i--; else { stack.i=0; break; } } if(stack.i==-1) cout<<"yes"<<endl; else cout<<"no"<<endl; N--; } return 0;}
0 0
- ACM在线练习-括号配对问题
- ACM在线练习-括号配对问题
- ACM练习:括号配对问题
- [ACM]括号配对问题
- acm-括号配对问题
- ACM 括号配对问题
- ACM--括号配对问题
- ACM-括号配对问题
- ACM括号配对问题
- ACM-括号配对问题
- ACM括号配对问题
- ACM括号配对问题
- 括号配对问题--一道ACM在线测试题
- 括号配对问题--一道ACM在线测试题(补充)
- ACM 括号配对问题 Java
- ACM—括号配对问题
- 括号配对问题 -- ACM解决方法
- acm基础--括号配对问题
- 预定义宏
- <PY><NumPy><SciPy>图像翻转切割遮罩
- cf534D 枚举握手次数
- Ajax提交请求后台获取不到session中的值
- PreTranslateMessage作用和使用方法
- ACM在线练习-括号配对问题
- 一个01字符串,求出现0、1出现次数相等的最长子串
- 关于获取操作系统版本的方法
- 《大话设计模式》--雷锋依然在人间--工厂方法模式<Factory Method>(8)
- hdu5246超级赛亚ACMer
- 如何获取连接的wifi密码
- 屏蔽runtime error等错误的弹出框
- openTSDB ConnectionManager: Unexpected exception from downstream java.io.IOException: Broken pipe
- Android Log系统详解