1098: 括号配对问题
时间限制: 1 Sec  内存限制: 128 MB
提交: 9  解决: 5
[提交][状态][讨论版]
题目描述
现在,有一行括号序列,请你检查这行括号是否配对.输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符.输出
每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No.样例输入
3
[(])
(])
([[]()])
样例输出
No
No
Yes

很简单的一道题   就是纯 堆栈问题    很适合 用于  理解堆栈的  例题  下面附上代码.

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,i,j,top,flag;
 5     char s[10000],st[5000];
 6     char c;
 7     scanf("%d\n",&n);
 8     for(i=1; i<=n; i++)
 9     {
10         top=-1;
11         scanf("%s",s);
12         flag=0;
13         for(j=0; c=s[j]; j++){
14             if(c=='[' || c=='(')
15             { //遇到左括号,则存入数组st(模拟栈操作——进栈)
16                 top++;
17                 st[top]=c;
18             }
19             else
20             { //遇到右括号,检查匹配情况
21                 if(top<0)
22                 {
23                     flag=1;
24                     break;
25                 } //栈为空,不匹配,跳出循环
26                 if(c==']' && st[top]=='[' || c==')' && st[top]=='(') //与栈顶匹配,——退栈
27                     top--;
28                 else //与栈顶不匹配,跳出循环
29                 {
30                     flag=1;
31                     break;
32                 }
33             }
34         }
35         if(flag || top>=0)
36             printf("No\n");
37         else
38             printf("Yes\n");
39     }
40     return 0;
41 }

转载于:https://www.cnblogs.com/A-FM/p/5157457.html

---------很简单的 一道 堆栈问题-------相关推荐

  1. 一道很简单的贪心算法题~【贪心:我不要脸的伐?】

    文章目录 题目描述 输入 输出 样例输入 样例输出 C语言代码实现 思路 排序 处理 完整代码 C++代码实现 排序 完整代码 彩蛋 题目描述 小健有一家自己的商店,主营牛奶饮品,最近资金紧张,他想以 ...

  2. 历史上最简单的一道Java面试题,但无人能通过

    作者:方志宏 来源:zhuanlan.zhihu.com/p/57859872 这可能是历史上最简单的一道java面试题了. 题目很简单,完成代码,判断一个整数是否是奇数: public boolea ...

  3. 有什么看起来很难,但是其实很简单的题目

    全世界只有3.14 % 的人关注了 爆炸吧知识 做题 其实很简单 今天超模君一进办公室就感觉充满"杀气",果不其然,一抬头就看见小天拿着一张纸对着我坏笑. 莫非这家伙又要我折纸? ...

  4. 简单的一道 SQL 题,谈如何提高编程水平

    点击蓝色"有关SQL"关注我哟 加个"星标",天天与12238人一起快乐成长 前两天发了一篇<SQL的3列4种对比方法>,近500 阅读.一个月没更 ...

  5. 使用html创建浮标,自制浮漂其实很简单,不信你来看一看

    看到各位钓友和大师位发的制作浮漂的贴子很不错,其中大师级别制作的浮漂更是漂亮,让我也有了自己制作浮漂的想法.说实话佷早以前自己就做过浮浮漂,只是那时没有买到好的放大漂漆,所以做出来的漂看着还可以,就是 ...

  6. 单片机编程软件很简单(九),Keil单片机编程软件高级调试技巧讲解

    单片机编程软件必不可少,近来文章中,小编主要为大家讲解Keil单片机编程软件.上篇中,主要阐述了Keil单片机编程软件的辅助功能.而在本文中,将介绍Keil单片机编程软件的高级调试技巧.如果你对单片机 ...

  7. 单片机编程软件很简单(五),keil单片机编程软件变量用法(下)

    对于单片机编程软件,想必大家均有所了解.针对单片机编程软件,小编曾对keil.IAR予以介绍.本文对于单片机编程软件的讲解,同样基于keil.本文中,将介绍keil单片机编程软件变量用法下篇.如果你对 ...

  8. 感觉 C++ 很简单,但为何这么多劝退的?

    上一个说C++简单的,已经被面试官问死了... 那些面试官最喜欢的就是你在简历上写"精通"或者"熟练掌握"几个字... 我以前也以为自己学明白了,后来经历的面试 ...

  9. python 北京大学陈斌教授_“其实数算可以很简单” ——专访北大地空学院陈斌...

    [采访时间]2015年5月6日 陈斌,北京大学地球与空间科学学院遥感与地理信息系统研究所副教授,主要研究方向为空间信息分布式计算.分布式虚拟地理环境.在教学方面,陈斌老师负责本科生课程<离散数学 ...

最新文章

  1. SVO: 视觉SLAM中特征点法与直接法结合
  2. vsftpd配置文件详解
  3. nginx缓存和flask_cache
  4. 【转】有限状态机用法教程
  5. 图像太宽无法输出请裁剪图像或降低分辨率然后重试_真·无监督!延世大学提出图像到图像无监督模型,实验结果超SOTA...
  6. 架构设计(6)---Web架构师究竟都要学些什么?
  7. python怎么隐藏输入法,隐藏输入法和弹出输入法
  8. Activity之间的数据传递—实现Parcelable接口
  9. 【hdoj1272】小希的迷宫(并查集+坑点)
  10. 小程序插入html代码
  11. 长江课堂作业答案_长江作业本答案
  12. 浅谈Java中的单例模式及四种懒汉模式
  13. 高性能JSON框架之FastJson的简单使用
  14. 计算机2级选择题及答案,计算机二级Office模拟试题及答案
  15. 学习-Python列表之列表应用之降序排列
  16. 解决 Component inside <Transition> renders non-element root node that cannot be animated 问题
  17. unity脚本学习3
  18. Dubbo教程学习笔记——B站动力节点
  19. python是编译器还是解释器_11 个优秀的 Python 编译器和解释器
  20. 计算机软件技术实习预习日志

热门文章

  1. php固定空格,使用php校对(固定标点符号,空格,大写字母)生物页面文本
  2. android 滚动动画效果代码,Android Scroll滑动效果实例
  3. hashcode 和 equals 的关系_Java equals 和 hashCode 的这几个问题可以说明白吗?
  4. VS2019中接连MySQL全部过程
  5. 关于c语言中合法的数值常量
  6. 编译linux内核成vmlinuz,编译一个内核 - no bzImage/vmlinuz生成
  7. devc++调试下一步没反应_某化工厂污水处理站SBR工艺调试方案
  8. 天翼云从业认证课后习题(3.3天翼云网络产品)
  9. 【项目管理】项目工作绩效域管理
  10. Java中集合中根据对象的某个属性去重