COJ 1065括号匹配:栈的简单应用

2024-06-09 00:18

本文主要是介绍COJ 1065括号匹配:栈的简单应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[STL]【数据结构】括号匹配

Time Limit: 1000 ms     Memory Limit: 65536 KB
Total Submit: 43     Accepted: 11

Description
数据有一行,由(,),[,],{,}六种字符构成。现在判断这行括号是否合法,合法条件如下:
1、每个左括号都有对应的右括号匹配,不得有多余的括号,比如这样正确:{}(),但这样错误:()())
2、不同类型括号之间不可以交错,比如这样正确:{[]},但这样错误:{[}]

Input
一行,只有六种括号字符

Output
括号合法输出:YES
括号不合法输出:NO

Sample Input
Sample Input 1:
{}{}{}()(){[]}

Sample Input 2:
{}[]]{[})())

Sample Output
Sample Output 1:
YES

Sample Output 2:
NO

Hint

如采用逐个字符输入时,建议使用getchar();
<stack>

思路:被getchar一直TLE,后面改用字符串输入就得过了,真是很无语有木有!!!暗示居然还是个陷阱……唉……中间也没看好题目,理解错了又错了几次,刚开始还以为{[}]这样也属于匹配的,后面重新看题目了才知道理解错了,一直纠结这事……
#include<iostream>
#include<stack>
#include<cstdio>
#include<cstring>
using namespace std;
int cmp(char a,char b)
{if(a=='{'&&b=='}') return 1;if(a=='('&&b==')') return 1;if(a=='['&&b==']') return 1;return 0;
}
int main()
{stack<char>s;char c[101];int i,l;scanf("%s",c);l=strlen(c);for(i=0;i<l;i++){if(!s.empty()&&cmp(s.top(),c[i]))s.pop();else s.push(c[i]);}if(!s.empty()) printf("NO\n");else printf("YES\n");return 0;
}


这篇关于COJ 1065括号匹配:栈的简单应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1043724

相关文章

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库