苍茫大地一剑尽挽破,何处繁华笙歌落。斜倚云端千壶掩寂寞,纵使他人空笑我。

题目描述

给定一个只包含字符'(',')','{','}','['和']'的字符串,确定输入字符串是否有效。
有效的字符串应同时满足一下两个条件:
1.必须使用相同类型的括号关闭左括号。
2.必须以正确的顺序关闭左括号。
请注意,空字符串也被视为有效。

输入

第一行:一行长度不超过100个字符的待检测字符串

输出

第一行:如果括弧合法则输出Yes,否则输出No

样例输入

复制样例数据

()

样例输出

Yes
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<map>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<set>
#include<stack>
using namespace std;
int main()
{string s="";int i,l;stack<char>t;cin>>s;getchar();l=s.length();if(l==0)cout<<"Yes"<<endl;else if(l%2==1)cout<<"No"<<endl;else{for(i=0;i<l;i++){if(s[i] == '(' || s[i] == '['||s[i]=='{')t.push(s[i]);else if(s[i] == ')' || s[i] == ']'||s[i]=='}'){if(t.empty()||(t.top()=='('&&s[i]!=')')||(t.top()=='['&&s[i]!=']')||(t.top()=='{'&&s[i]!='}')){cout<<"No"<<endl;return 0;}elset.pop();}}if(t.empty())cout<<"Yes"<<endl;elsecout<<"No"<<endl;}return 0;
}

ZOJ----问题 E: 括弧合法性检测(栈的使用)相关推荐

  1. 【Python正则表达式】网址合法性检测

    网址合法性检测规则 实现一个函数heck_web_address用于检测网址是否是一个顶级域名.规则如下: 网址名包括字母,数字,下划线,横杠(-), 点号(.) 和 加号(+); 后面紧跟着 .和顶 ...

  2. IPv4路由下一跳合法性检测

    函数fib_check_nh检测下一跳的合法性. int fib_check_nh(struct net *net, struct fib_nh *nh, u32 table, u8 scope, s ...

  3. Debug_C++:关于逻辑或在合法性检测中的问题

    在完成C++ Primer Plus(第五版)的习题5.17时发生的bug,困扰好一会.通过网上寻找解决办法,还是懵懂,翻回原书终于找到原因.其实也就是学的还是不够扎实,忽略很多细节. 题目要求:编写 ...

  4. MAC地址合法性检测

    bool RegistrationCode::isMacAddress(QString mac) { QRegExp rx("^([A-Fa-f0-9]{2}[-,:]){5}[A-Fa-f ...

  5. 数据结构--栈--顺序栈/链式栈(附: 字符括号合法配对检测)

    栈结构:先进后出,后进先出,像叠盘子一样,先叠的后用. 代码github地址 https://github.com/hitskyer/course/tree/master/dataAlgorithm/ ...

  6. 数据结构-栈--表达式

    数据结构之栈在表达式求值及转换中的应用 1 栈及表达式的基本定义 2 栈在表达式求值过程以及转换中的应用 1 栈及表达式的基本定义 1.1栈的定义 栈(stack)是限定仅在表尾进行插入或删除操作的线 ...

  7. Linux内核网络栈1.2.13-tcp.c概述

    参考资料 <<linux内核网络栈源代码情景分析>> af_inet.c文件中调用函数在协议层的实现 本文主要根据在af_inet.c文件中根据初始化不同的协议,来调用不同的协 ...

  8. [安全攻防进阶篇] 七.恶意样本检测之编写代码自动提取IAT表、字符串及时间戳溯源

    系统安全绕不开PE文件,PE文件又与恶意样本检测及分析紧密相关.前文作者带领大家逆向分析两个CrackMe程序,包括逆向分析和源码还原.这篇文章主要介绍了PE文件基础知识及恶意样本检测的三种处理知识, ...

  9. 程序员的进阶课-架构师之路(4)-栈

    一.栈的定义 [百度百科]栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表.它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据 ...

最新文章

  1. axios不发起请求_axios 发 post 请求的问题
  2. css+隐藏+左侧菜单栏,放在网页左侧的DIV+CSS隐藏菜单代码
  3. 常用的设计模式——观察者设计模式?和发布者-订阅者设计模式的区别
  4. Mysql生成连续时间段记录
  5. 腾讯技术直播间 | 零代码打造智能对话机器人
  6. mate 树莓派4b安装ubuntu_树莓派4B安装安装Ubuntu Mate 16.04
  7. 深度学习之keras (一) 初探
  8. cls certificate.php,php加密解密处理类
  9. Nginx重写规则指南
  10. u检验中的查u界值表_延边双壁波纹管pvc-u
  11. Flash mx 课程指导大纲
  12. Django 菜鸟教程(跑通流程)
  13. Vue.js实现文章评论和回复评论功能
  14. 虚拟机下ROS调用笔记本摄像头
  15. SAP 标准成本、目标成本与实际成本
  16. 【MQTT基础篇(一)】MQTT介绍
  17. 点云obb盒显示 python
  18. Speedoffice 两个方法教你如何在Word文档中划线
  19. 语义解析Parser用户手册
  20. 2. 487-3279

热门文章

  1. 下一个王者,必将出现在能源互联网领域
  2. 56.深度解密五十六:详解DSP营销推广及实战中的相关问题
  3. android缅甸语,Android 泰语、缅甸语等复杂语言圈圈问题
  4. linux解压文件卡住,Linux系统下常见的压缩文件及解压方法
  5. java驾校管理系统代码_JAVA课程设计驾校管理系统
  6. 见鬼,U盘空间怎么少了,原来是EFI分区搞的鬼,删除它
  7. 2002~2018PJM每小时功率消耗文本数据集(145366行数据,具有明显的季节特性,单位为MW)
  8. ROS 之话题topic中 命令小总结
  9. 硬盘拷贝使目标盘变小怎么办
  10. vue-router.esm.js?a12b:2046 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation