当前位置: 首页 > news >正文

3703. 括号的匹配 北京师范大学考研上机真题 栈的思想

在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。

包括有大括号 {},中括号 [],小括号 (),尖括号 <> 等。

对于每一对括号,必须先左边括号,然后右边括号;如果有多个括号,则每种类型的左括号和右括号的个数必须相等;对于多重括号的情形,按运算规则,从外到内的括号嵌套顺序为:大括号->中括号->小括号->尖括号,另外相同的括号可以嵌套。

例如,{[()]},{(())},{{}} 为一个合法的表达式,而 ([{}]),{([])},[{<>}] 都是非法的。

输入格式

第一行包含整数 n,表示共有 n个表达式需要判断。

接下来 n 行,每行包含一个括号表达式。

输出格式

每行输出一个表达式的判断结果。

如果合法输出 YES,否则输出 NO

数据范围

1≤n≤100
表达式长度不超过 100100。

输入样例:
5
{[(<>)]}
[()]
<>()[]{}
[{}]
{()}
输出样例:

解释

YES
YES
YES
NO
YES
#include <bits/stdc++.h>using namespace std;unordered_map<char, int> mp{{'{',1},{'[',2},{'(',3},{'<',4},{'}',5},{']',6},{')',7},{'>',8}};char g[110];int main()
{int n;cin >> n;while(n --){memset(g, 0, sizeof g);cin >> g;int len = strlen(g);stack<char> stack;for (int i = len - 1; i >= 0; i --){if(stack.empty())  stack.push(g[i]);else if(mp[stack.top()] > mp[g[i]] && mp[g[i]] > 4) break;  else if(mp[stack.top()] - mp[g[i]] == 4 ) stack.pop();else stack.push(g[i]);}if(stack.empty()) puts("YES");else puts("NO");}return 0;
}

相关文章:

3703. 括号的匹配 北京师范大学考研上机真题 栈的思想

在算术表达式中&#xff0c;除了加、减、乘、除等运算外&#xff0c;往往还有括号。 包括有大括号 {}&#xff0c;中括号 []&#xff0c;小括号 ()&#xff0c;尖括号 <> 等。 对于每一对括号&#xff0c;必须先左边括号&#xff0c;然后右边括号&#xff1b;如果有多个…...

SpringCloud中的@EnableDiscoceryClient和@EnableFeignClients注解的作用解析、RPC远程过程调用

目录 EnableDiscoveryClient 服务发现的核心概念 服务注册中心 EnableDiscoveryClient注解的作用 服务心跳健康检查 使用示例 EnableFeignClients Feign简介 EnableFeignClients注解的作用 RPC&#xff08;Remote Procedure Call&#xff09; 参考链接 Spring Cloud…...

关于安卓文件复制的杂谈(一)文件复制,文件夹复制

背景 一些很基础的东西&#xff0c;往往用起来&#xff0c;找起来&#xff0c;乱七八糟&#xff0c;所以特此记录 环境 win10,jdk8,as4 备注 不考虑安卓沙箱机制&#xff0c;这里讲解的是思路&#xff0c;示例中&#xff0c;是以应用内部目录进行测试 开发 把一个文件&a…...

Lucene查询语法,适用于 ELk Kibana 查询

Lucene查询语法&#xff0c;适用于 ELk Kibana 查询 Elasticsearch 构建在 Lucene 之上&#xff0c;过滤器语法和 Lucene 相同。本语法可用于 Kibana 界面的检索和 Grafana 看板对接 ES 的检索规则。 Kibana 上的检索语法Grafana 上的检索语法 全文搜索 在搜索栏输入login&…...

蓝桥杯2023年第十四届省赛真题-阶乘求和

一、题目 【问题描述】 令 S 1 ! 2 ! 3 ! . . . 202320232023 ! S 1! 2! 3! ... 202320232023!S1!2!3!...202320232023!&#xff0c;求 S SS 的末尾 9 位数字。 提示&#xff1a;答案首位不为 0。 【答案提交】 这是一道结果填空的题&#xff0c;你只需要算出结果后…...

多租户平台前端存储结构的选择

下图来源于cookie、localStorage 和 sessionStorage的区别及应用实例 既然localstorage无有效期&#xff0c;关闭浏览器还存在&#xff0c;那么用来存储用户的身份信息并不是太合适&#xff0c;先看一下B站中localstorage都存在了啥&#xff0c;原来把我搜索的记录都存在了下来…...

C++11 新特性:常量表达式 constexpr(下)

接上篇文章&#xff0c;继续说说常量表达式 constexpr 在模板编程中的使用场景。 constexpr 用于模板编程 在模板编程中&#xff0c;constexpr 的应用非常广泛&#xff0c;主要是因为它能够在编译时进行计算&#xff0c;这对于模板元编程、编译时断言、模板特化选择等场合尤为…...

大数据开发--02.环境准备

一.准备三台linux虚拟机 1.分别取名node1,node2,node3 2.配置静态ip 这里以node1为例&#xff0c;配置静态ip地址&#xff0c;其他node2.node3一样 配置完成之后别忘记 systemctl restart network 3.在各自的/etc/hosts文件中编辑三个Ip地址 三台都要配置&#xff0c; 4.然…...

选择word中的表格VBA

打开开发工具 选择Visual Basic插入代码 Sub 选择word中的表格() Dim t As Table an MsgBox("即将选择选区内所有表格&#xff0c;若无选区&#xff0c;则选择全文表格。", vbYesNo, "提示") If an - 6 Then Exit Sub Set rg IIf(Selection.Type wdSel…...

开放签开源电子签章白皮书-简版

开放签开源电子签章白皮书-简版 一、摘要&#xff1a; 开放签电子签章团队源自于电子合同SaaS公司&#xff0c;立志于通过开源、开放的模式&#xff0c;结合团队十多年的行业经验&#xff0c;将电子签章产品更简单、更低门槛的推广到各行各业中。让电子签章应用更简单&#x…...

uniapp、vue2.6、H5,利用腾讯TRTC,快速跑通1v1视频功能

多人视频聊天室搭建&#xff0c;官网已有相关demo和案例&#xff0c;需要快速搭建多人聊天室直接进入以下网站&#xff1a; 实时音视频 Web & H5 (Vue2/Vue3)-视频通话&#xff08;含 UI&#xff09;-文档中心-腾讯云说明&#xff1a;https://cloud.tencent.com/document/…...

Spring Data访问Elasticsearch----查询方法

Spring Data访问Elasticsearch----查询方法 一、查询lookup策略1.1 声明的查询 二、创建查询三、方法返回类型四、使用Query注解 一、查询lookup策略 Elasticsearch模块支持所有基本的查询构建功能&#xff0c;如字符串查询、native搜索查询、基于条件的查询和从方法名派生的查…...

PyTorch 深度学习(GPT 重译)(四)

第二部分&#xff1a;从现实世界的图像中学习&#xff1a;肺癌的早期检测 第 2 部分的结构与第 1 部分不同&#xff1b;它几乎是一本书中的一本书。我们将以几章的篇幅深入探讨一个单一用例&#xff0c;从第 1 部分学到的基本构建模块开始&#xff0c;构建一个比我们迄今为止看…...

视频无水印批量下载软件|抖音视频提取工具

视频无水印批量下载软件 在当今社交媒体充斥着大量优质视频内容的时代&#xff0c;很多用户都希望能够轻松下载自己喜爱的视频进行收藏或分享。为了满足用户的需求&#xff0c;我们特别推出了一款专业的视频无水印批量下载软件&#xff0c;让您可以方便快捷地获取喜爱的视频内容…...

【linux】环境基础|开发工具|gcc|yum|vim|gdb|make|git

目录 ​编辑 Linux 软件包管理器 yum 软件包: 操作&#xff1a; 拓展&#xff1a;lrzsz简介 Linux开发工具 Linux编辑器-vim使用 vim 的基本概念 命令模式 插入模式 底行模式 vim 命令模式的操作指令 vim 底行模式的操作命令 Linux编译器-gcc/g使用 功能 格…...

小程序中实现轮播图左向堆叠

1、效果图&#xff1a; 轮播图左向堆叠 2、封装的组件&#xff1a; my-swiper.wxml <view><view class"tower-swiper" bindtouchend"TowerEnd"><view class"tower-item" wx:for"{{swiperList}}" wx:key"index&q…...

零基础入门数据挖掘系列之「建模调参」

摘要&#xff1a;对于数据挖掘项目&#xff0c;本文将学习如何建模调参&#xff1f;从简单的模型开始&#xff0c;如何去建立一个模型&#xff1b;如何进行交叉验证&#xff1b;如何调节参数优化等。 建模调参&#xff1a;特征工程也好&#xff0c;数据清洗也罢&#xff0c;都是…...

如何在Mac中删除照片?这里有详细步骤

前言 本文介绍如何从Mac中删除照片,以释放硬盘空间或更好地组织文件和文件夹。 如何使用废纸篓删除Mac上的图片 在Mac上删除图片的最简单方法之一是使用废纸篓功能。学习只需几秒钟。下面是如何删除单个图片以及如何在Mac上删除多个图片,以及一些关键和有用的提示,以使该…...

Qt笔记 事件处理_鼠标事件

什么是事件&#xff1f; 点击鼠标左键&#xff0c;双击鼠标左键&#xff0c;鼠标来回移动&#xff0c;按下键盘按钮&#xff0c;这些都是事件。 那么事件的响应机制是什么样的呢&#xff1f; 首先main函数中有一个QApplication&#xff0c;其作用是创建一个应用程序对象&…...

【Vue】三、使用ElementUI实现图片上传

目录 一、前端代码实现 二、后端代码实现 三、调试效果实现 一、前端代码实现 废话不多说直接上代码 <el-form-item prop"image" label"上传图片" v-model"form.image"><el-upload:action"http://localhost:8…...

C++ STL 标准模板库 六大核心

文章目录容器&#xff08;Containers&#xff09;—— 存放数据算法&#xff08;Algorithms&#xff09;—— 操作数据迭代器&#xff08;Iterators&#xff09;—— 容器与算法的桥梁仿函数 / 函数对象&#xff08;Functors&#xff09;适配器&#xff08;Adapters&#xff09…...

MATLAB圆形图工具:轻松实现专业级网络数据可视化

MATLAB圆形图工具&#xff1a;轻松实现专业级网络数据可视化 【免费下载链接】circularGraph 项目地址: https://gitcode.com/gh_mirrors/ci/circularGraph 在数据分析与科学计算领域&#xff0c;网络可视化工具已成为理解复杂系统关系的关键。MATLAB作为业界领先的技术…...

别再手动调参了!用YOLOv5的K-means+遗传算法,为你的数据集定制专属Anchors

突破目标检测瓶颈&#xff1a;YOLOv5 Anchors优化实战指南 在目标检测任务中&#xff0c;Anchors的质量直接影响模型性能。传统手工设计Anchors的方式早已被自动化方法取代&#xff0c;但大多数开发者仍停留在使用默认Anchors的阶段。本文将揭示如何通过K-means与遗传算法的组合…...

如何彻底告别AutoCAD字体缺失烦恼?FontCenter终极解决方案完整指南

如何彻底告别AutoCAD字体缺失烦恼&#xff1f;FontCenter终极解决方案完整指南 【免费下载链接】FontCenter AutoCAD自动管理字体插件 项目地址: https://gitcode.com/gh_mirrors/fo/FontCenter 你是否曾经在打开同事发来的CAD图纸时&#xff0c;看到满屏的问号和乱码&a…...

ISP-全链路数据流预览-000005

全链路数据流预览 视频数据从传感器到播放器的完整流转路径&#xff0c;一图掌握核心技术链路V4L2 框架与硬件组件的关系RGB 数据容量远远大于 YUV 数据容量&#xff0c;所以需要转成 YUV MIPI CSI ** **...

光轮智能揽5.5亿订单引爆具身数据元年,物理AI时代数据成竞争焦点

1. 光轮智能订单刷新纪录&#xff0c;引爆“具身数据元年” 全球首个具身数据独角兽光轮智能&#xff0c;2026年一季度狂揽5.5亿元订单&#xff0c;刷新具身数据行业纪录&#xff0c;直接引爆“具身数据元年”。把订单拆开来看&#xff0c;背后浮现出的并非单一需求&#xff0c…...

【AGI创造力评估权威框架】:20年AI评估专家首次公开5大维度+3个失效陷阱

第一章&#xff1a;AGI创造力评估的范式革命 2026奇点智能技术大会(https://ml-summit.org) 传统AI评估长期依赖静态基准&#xff08;如MMLU、BIG-Bench&#xff09;与任务准确率指标&#xff0c;将创造力窄化为“解题正确性”的副产品。而AGI创造力的本质在于跨域概念重组、意…...

从PCIe设备到RDMA网卡:手把手拆解Linux内核中DMA映射的完整流程(含sg_table与pci_map_sg)

从PCIe设备到RDMA网卡&#xff1a;Linux内核DMA映射全流程深度解析 引言 在现代计算架构中&#xff0c;直接内存访问&#xff08;DMA&#xff09;技术已成为提升I/O性能的关键支柱。当开发者需要为自定义PCIe加速卡或高性能网卡编写内核驱动时&#xff0c;深入理解DMA映射机制不…...

3个技术方案解决米哈游游戏启动器的核心痛点:Starward架构解析

3个技术方案解决米哈游游戏启动器的核心痛点&#xff1a;Starward架构解析 【免费下载链接】Starward Game Launcher for miHoYo - 米家游戏启动器 项目地址: https://gitcode.com/gh_mirrors/st/Starward 对于同时游玩《原神》、《崩坏&#xff1a;星穹铁道》、《绝区零…...

android 14.0 framework下service下引用 opt目录下相关类编译不过的功能实现

1.前言 在14.0的系统rom定制化开发中,在某些产品中,对于在service下引用framewroks/opt下面的类 比如GsmSMSDispatcher类等,会出现找不到文件类的问题,接下来分析下相关问题的原因,然后 解决这个问题 2.framework下service下引用 opt目录下相关类编译不过的功能实现的核…...