括号配对问题

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
 
描述
现在,有一行括号序列,请你检查这行括号是否配对。
 
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
输出
每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
样例输入
  1. 3
  2. [(])
  3. (])
  4. ([[]()])
样例输出
  1. No
  2. No
  3. Yes
    AC代码如下:
    第一种方法:
  1. #include<stdio.h>
  2.  
  3. #define Max 11000
  4.  
  5. char str[Max];
  6.  
  7. int main()
  8.  
  9. {
  10.  
  11. int ca,i;
  12.  
  13. scanf("%d",&ca);
  14.  
  15. getchar();
  16.  
  17. while(ca--)
  18.  
  19. {
  20.  
  21. i = ;
  22.  
  23. while((str[i] = getchar()) != '\n')
  24. {
  25.  
  26. if(((str[i] == ')' && str[i - ] == '(') || (str[i] == ']' && str[i - ] == '[')) && i > )
  27.  
  28. i --;
  29. //输入一个判断前一个 前面是否有和它能够配对的字符;如果有则消去这两个字符
  30.  
  31. else i ++;
  32. //否者继续输入
  33. }
  34.  
  35. printf("%s\n", i ? "No" : "Yes");
  36.  
  37. }
  38.  
  39. return ;
  40. }
  1. 第二种:用的C++库函数
  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. #include<stack>
  5. using namespace std;
  6. stack< char >s;
  7. bool mate(char a,char b)
  8. {
  9. return a=='(' && b==')' || a=='[' && b==']';
  10. }
  11. int main()
  12. {
  13. int n,i;
  14. char str[];
  15. cin>>n;
  16. while(n--)
  17. {
  18. while(!s.empty()) s.pop();
  19. cin>>str;
  20. for(i=;str[i]!='\0';i++)
  21. {
  22. if( s.empty() || !mate( str[i] ,s.top()) )
  23. s.push(str[i]) ;
  24. else s.pop() ;
  25. }
  26. if(s.empty())
  27. cout<<"Yes"<<endl;
  28. else cout<<"No"<<endl;
  29. }
  30. return ;
  31. }

ny2 括号配对问题的更多相关文章

  1. ACM:UESTC - 649 括号配对问题 - stack

      UESTC - 649  括号配对问题 Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu ...

  2. 括号配对问题_栈<stack>

    问题 A: 括号配对问题 时间限制: 3 Sec  内存限制: 128 MB提交: 3  解决: 2[提交][状态][讨论版] 题目描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行 ...

  3. NYOJ之括号配对问题

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述     现在,有一行括号序列,请你检查这行括号是否配对. 输入     第一行输入一个数N(0<N&l ...

  4. ACM 括号配对问题

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=1 ...

  5. hdoj 2 括号配对问题【数组模拟实现+STL实现】

    栈遵循先进后出的原则 括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0 ...

  6. nyoj 2 括号配对问题

    括号配对问题 时间限制:3000 ms  |            内存限制:65535 KB 难度:3   描述 现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0& ...

  7. 括号配对问题--nyoj-2(栈)

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述现在,有一行括号序列,请你检查这行括号是否配对.   输入 第一行输入一个数N(0<N<=10 ...

  8. nyoj 2 括号配对问题 栈

    nyoj 2 括号配对问题 题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=2 思路: 栈:'(' '['入栈,遇到 ']' ')'出栈 ...

  9. stl-stack+括号配对问题

    栈:stl的一种容器,遵循先进后出原则,,只能在栈的顶部操作,就像放盘子一样,洗好的盘子叠在上面,需要用时也是先从顶部拿.不允许被遍历,没有迭代器 基本操作: 1.头文件#include<sta ...

随机推荐

  1. 运行php程序时,浏览器跳出打开和保存提示框

    解决办法:将php.ini文件复制到 C:\Windows

  2. vue 开发中的常见问题

    (一)eslint静态检查 在大家用vue-cli创建工程的时候,会有一项,使用使用eslint,如果选择了y,那么工程就会安装并启用eslint. 这里列举一下常见的错误: 1.多余的分号 2.定义 ...

  3. 浅析android应用增量升级(转)

    By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 很久没有更新博客了,真是堕落啊,几次想提起笔,却总是被各种琐事耽搁,以后会多写文章记录点滴. 背景         ...

  4. 各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总

    各种HTTPS站点的SSL证书 ,扩展SSL证书,密钥交换和身份验证机制汇总 一份常见的 HTTPS 站点使用的证书和数据加密技术列表,便于需要时比较参考,将持续加入新的 HTTP 站点,这里给出的信 ...

  5. 开源大数据技术专场(上午):Spark、HBase、JStorm应用与实践

    16日上午9点,2016云栖大会“开源大数据技术专场” (全天)在阿里云技术专家封神的主持下开启.通过封神了解到,在上午的专场中,阿里云高级技术专家无谓.阿里云技术专家封神.阿里巴巴中间件技术部高级技 ...

  6. 如何在Win8中设置虚拟热点共享上网(转)

    摘自:http://www.enet.com.cn/article/2013/0408/A20130408273749.shtml 在Windows 7中,我们可以通过网络与共享中心的“设置新的连接和 ...

  7. 学习Tkinter

    tutorial point这个网站教程很多,无所不包.还包括一堆在线IDE,值得收藏 一.第一个tkinter程序 import tkinter top = tkinter.Tk() # Code ...

  8. HDFS权限管理用户指南

    原文地址:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_permissions_guide.html 概述 用户身份 理解系统的实现 文件系统API变更 S ...

  9. PMP备考经验分享

    大学毕业到现在工作已经5年了,在最初的3年里一直从事软件开发的工作,但是在后面的工作时间里,接触到了项目管理,不仅 需要自己能做,而且要带领团队做,管控项目了.当时部门里的技术经理学习过PMP,并参加 ...

  10. PL SQL基本内容(原创)

    本节介绍PL SQL的基本内容 本节所举示例数据来源oracle用户scott下的emp表和dept表,数据如下: 一.plsql简介: 1.概念:procedural language,过程化sql ...