基于栈的实现,左括号进栈,右括号匹配出栈。注意,当栈空时有两种情况,匹配成功或是原匹配串的右括号数目大于左括号数目。因此,加了标志。

代码如下:

#include<cstdio>
#include<cstring>
#define max 10010
char str[max];
char stack[max];
int top;

int main()
{
    int n,tag;
    scanf("%d",&n);getchar();
    for(int i=0;i<n;i++)
    {
        gets(str);
        top=tag=0;
        for(int j=0;str[j]!='\0';j++)
        {
           if(str[j]=='['||str[j]=='(')
               stack[top++]=str[j];
           else
            if(str[j]==']'&&top&&stack[top-1]=='[')
               top--;
            else
                if(str[j]==')'&&top&&stack[top-1]=='(')
                    top--;
                else
                    if(str[j]!=' ')
                        {tag=1;break;}
        }
        if(tag||top) printf("No\n");
        else
            printf("Yes\n");
    }
    return 0;
}

NYOJ的水题--括号匹配问题相关推荐

  1. [JS][编程题]括号匹配

    括号匹配 题目来源:牛客网 题目链接:括号匹配 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 题目描述 给定一个只包含括号的字符串,判断字符串是否有效.其 ...

  2. 括号匹配不一定用栈哦(洛谷P1739题题解,Java语言描述)

    说明 有点标题党,严格地说,括号匹配用栈做比较规范. 问题是下面这题有点水啊,简便点大家都开心~~ 题目要求 P1739题目链接 分析 题目太水,所以说我们可以认为什么各种异常不会出现. 只需要--简 ...

  3. [NYOJ 15] 括号匹配(二)

    括号匹配(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:6 描述给你一个字符串,里面只包含"(",")","[" ...

  4. 【nyoj - 890】 分东西 (水题 二进制)

    题干: 分东西 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 输入 第一行输出一个数i表示有i组情况(0<i<=10) 接下来的i行,每一行输入两个个数M(0&l ...

  5. POJ 1936 字符匹配(水题)

    题目链接: http://poj.org/problem?id=1936 题目大意: 给定字符a,b,问b中去掉一些字符后能不能得到a 解题思路: 暴力从前往后扫描一遍即可. AC代码: /*** @ ...

  6. 栈和队列常见oj题(括号匹配问题、栈实现队列、队列实现栈、设计循环队列)

    一.括号匹配问题 1.题目要求: 2.大体思路 遍历这个字符串,如果是左括号就让它入栈,如果是右括号就让它和栈顶元素进行匹配(前提是栈中有元素),匹配成功的话就让栈顶元素出栈,匹配失败就返回false ...

  7. 表达式括号匹配_洛谷1739_栈

    题目背景 你猜 题目描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹 ...

  8. 【区间dp】uva10003+ uva 1626 括号匹配问题 【有空自己记忆化写一下!!!】

    讲道理,其实我还不是太懂,这个题看到了两种写法 之前大概想的差不多,要这样实现呀: 常规写法,大概n--3 递归写法,稍微好理解一点 好了,接下来自从看了liuchuo的博客我要变身玛丽苏橙色了 题目 ...

  9. 【HDU 1870 --- 愚人节的礼物】栈水题

    [HDU 1870 --- 愚人节的礼物]栈水题 Description 四月一日快到了,Vayko想了个愚人的好办法--送礼物.嘿嘿,不要想的太好,这礼物可没那么简单,Vayko为了愚人,准备了一堆 ...

  10. P1944 最长括号匹配(栈模拟/DP)

    P1944 最长括号匹配 可以直接用栈模拟,把匹配好的标记一下, 最后找到最长的匹配输出即可. 如果是要求最长的长度的题那么只需要求数就行了,没必要把原序列真的按照题意改变 如果要求序列,那么只需要按 ...

最新文章

  1. 分析型数据仓库中读写分离的实现
  2. java ee web高级,Java EE Web高级开发案例
  3. java proguard 使用_一步步教你使用Proguard混淆Java源代码
  4. Linux进程里运行新代码,linux调度器源码分析 - 新进程加入(三)
  5. Confluence 6 让一个空间可以公众访问
  6. Vivado 查看HLS生成IP的资源和最高频率
  7. TiDB源码学习笔记:启动TiDB
  8. pb一步步开发APP
  9. 弘兵金融学院 站在山顶 看不见山
  10. 什么是巴旦木?种植巴旦木树苗产量高吗?
  11. 认沽期权长短仓应用法
  12. 实现一个完整的前后端交互
  13. Android工程师技能表
  14. 成员介绍网页模板html,HTML5 CSS3 SVG团队成员介绍卡片页面模板
  15. (93)FPGA面试题-什么是关键路径,怎么处理关键路径?
  16. html中的空格怎么写,html中空格代码是什么?(总结)
  17. 系统盘重装服务器系统,服务器系统盘重装
  18. 用vb编了个数独计算器
  19. 数字孪生+燃气管理,开启智慧燃气管理新模式
  20. 计算机反求设计的一般步骤,反求设计

热门文章

  1. 使用 PHP Curl 做数据中转
  2. [转]asp 没有权限: 'CreateObject'的解决方法
  3. B1816 扑克牌 二分答案 + 贪心
  4. 初尝Spring Cloud Config
  5. python数据类型-列表练习
  6. java-web 过滤器 amp; 监听器 amp; 拦截器
  7. iOS中的 深拷贝和浅拷贝
  8. python logging 模块之TimedRotatingFileHandler 实现每天一个日志文件
  9. 数据库存储 层次、树形结构 的标准做法
  10. Java基础学习,一些零散的笔记之抽象类与接口