匹配

题目大意:

给你一个长度为n的字符串(有多组数据),中间有小写字母(没用的东西)和大写字母,A-M是左括号,与之相对的是右括号Z-N(之所以说是Z-N而不是N-Z是因为只有Z可以和A相对,只有M可以和N相对……),求他是否正确,就是判断是否有单个括号,括号不匹配,左括号过多,右括号过多的情况,正确输出1否则输出0

样例输入

12

AabcZBBefYeY

样例输出

1

数据范围限制

提示

数据说明:

50%的数据N<=1000

100%的数据N<=1000000

解题思路

利用栈的原理,当有大写字母时就判断,如果和栈顶匹配,dep(栈的高度)++,否则就入栈,最后看看栈是否为空就行了

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
int dep,n,a[1000005];
char x;
int main()
{while(cin>>n){dep=0;for (int i=1;i<=n;i++){cin>>x;if((x>='A')&&(x<='Z'))//判断是否为大写字母{if ((dep)&&(x==a[dep])) dep--;//判断是否可以和栈顶配对else a[++dep]=155-x;//入栈}}if (!dep) printf("1\n");//输出else printf("0\n");//输出}return 0;
}

【栈】【字符】匹配(jzoj 1612)相关推荐

  1. python数据结构和算法 时间复杂度分析 乱序单词检测 线性数据结构 栈stack 字符匹配 表达式求值 queue队列 链表 递归 动态规划 排序和搜索 树 图

    python数据结构和算法 参考 本文github 计算机科学是解决问题的研究.计算机科学使用抽象作为表示过程和数据的工具.抽象的数据类型允许程序员通过隐藏数据的细节来管理问题领域的复杂性.Pytho ...

  2. 栈-----括号匹配+表达式计算

    第1题: 算术表达式里面括号是否匹配,如 3+{2(5*3-1)-[1+(3-5)]}匹配,3+ 2(5*3-1)-[1+(3-5)]} 不匹配. package com.sheepmu.text;i ...

  3. 栈 括号匹配问题(C语言)

    栈 括号匹配问题(C语言) 栈 括号匹配问题 问题描述: 假设一个算术表达式中可以包含三种括号:圆括号"("和")",方括号"["和&quo ...

  4. R语言grep函数和grepl函数字符匹配实战

    R语言grep函数和grepl函数字符匹配实战 目录 R语言grep函数和grepl函数字符匹配实战 #基本语法

  5. mysql中的字符匹配查询

     1.like的字符匹配 (1)%百分号通配符,匹配任意长度的字符,包括零字符 (2)_下划线通配符,只匹配一个字符 2.正则表达式查询REGEXP 选项 说明 例子 示例 ^ 匹配文本的开始字符 ...

  6. leetcode 44 字符匹配

    题意:s是空串或包含a-z字母: p为包含a-z字母或?或 * (其中*可以匹配任意字符串包括空串,?可以匹配任意字符). 思路: 1)特殊情况:当s为空串时,p为连续 * 时,则连续 * 的位置都为 ...

  7. 正则表达式入门之字符匹配

    正则表达式入门-字符匹配 在前段时间进行文本挖掘练习的时候,不会使用正则表达式,深感不宜.所以这里,我想赶紧学习一下正则表达式. 注:本文是对<正则表达式必知必会>的复习. 1.正则表达式 ...

  8. 【编程题目】有 n 个长为 m+1 的字符串,如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配......

    37.(字符串) 有 n 个长为 m+1 的字符串, 如果某个字符串的最后 m 个字符与某个字符串的前 m 个字符匹配,则两个字符串可以联接, 问这 n 个字符串最多可以连成一个多长的字符串,如果出现 ...

  9. 有n 个长为m+1 的字符串,求前后m个字符匹配所能形成的最长字符串链:利用弗洛伊德算法求最长路径...

    有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误. 把字符串看成 ...

最新文章

  1. Mysql 添加用户和数据库授权
  2. C++语言之一个派生类继承了所有的基类方法,但下列情况除外
  3. 【AI杂谈】从一篇参考文献比正文还长的文章,杂谈深度学习综述
  4. [转]世界十大最美历史遗迹[组图]。
  5. 分离圆环图显示百分比_Tableau制作圆环图
  6. diff和patch工具使用(转)
  7. 【Python 必会技巧】利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
  8. appium java 点击事件_“按钮点击”在Appium Android测试中给出“处理命令时出现未知的服务器端错误 . ”...
  9. Python批量下载电子邮件附件并汇总合并Excel文件_如何让繁琐工作自动化:聊聊Python与RPA...
  10. 控制反转_.NET Core ASP.NET Core Basic 12 控制反转与依赖注入
  11. 手机数控模拟器安卓版_CNC模拟器安卓中文版
  12. 如何快速访问AWS的云服务
  13. 正确设置 pip,避免There was a problem confirming the ssl certificate问题
  14. elementUI表格无数据显示图片
  15. mysql mmm 官方_mysql mmm
  16. 噼里啪荣膺信息化影响中国·2017年行业领军企业奖
  17. 移动应用界面设计的尺寸规范
  18. 基于QT的运动参数提取与轨迹重现
  19. 基于jQuery的富文本编辑器summernote插件的使用教程
  20. xml文件使用浏览器打开,提示“This page contains the following errors“解决办法

热门文章

  1. 谷歌浏览器安卓_安卓免费时代结束,国产手机或将集体涨价?
  2. excel怎么设置打印区域_别再浪费打印纸了!这样设置,Excel表格再大都能打印成一页!...
  3. java使用教程——组件及事件处理——窗口(设置窗口的颜色和背景)
  4. 7-1 字母统计图 (10 分)(思路+详解)
  5. 「offer来了」浅谈前端面试中开发环境常考知识点
  6. 敲黑板!vue3重点!一文了解Composition API新特性:ref、toRef、toRefs
  7. [Java基础]字节缓冲流
  8. C++实现各种插入排序(直接,折半,希尔)
  9. 算法-二分搜索-找出最大值和最小值
  10. HDU 6706 huntian oy (欧拉函数 + 杜教筛)