【题目链接】

ybt 1354:括弧匹配检验

【题目考点】

1. 栈

【解题思路】

遍历字符串,左括号入栈,遇到右括号时,看栈顶括号与右括号是否能配对。如果两个括号都是小括号或中括号,那么二者配对,左括号出栈。否则括号不匹配。
如果遍历到右括号时,发现栈空,那么存在右括号无法匹配。
如果遍历结束时,栈不为空,那么存在左括号无法匹配。

【题解代码】

解法1:用数组及表达式实现栈

#include<bits/stdc++.h>
using namespace std;
int main()
{char s[260], stk[260];scanf("%s", s);int top = 0, len;len = strlen(s);for(int i = 0; i < len; ++i){if(s[i] == '(' || s[i] == '[')//左括号入栈 stk[++top] = s[i];else if(s[i] == ')' || s[i] == ']'){if(top == 0 || s[i] == ')' && stk[top] != '(' ||s[i] == ']' && stk[top] != '[')//栈空或括号不配对 {printf("Wrong");//无法配对 return 0;}elsetop--;}}if(top == 0)//如果栈不空,则无法配对 printf("OK");elseprintf("Wrong");return 0;
}

解法2:使用C++ STL

#include<bits/stdc++.h>
using namespace std;
int main()
{string s;cin >> s;stack<char> stk;for(int i = 0; i < s.length(); ++i){if(s[i] == '(' || s[i] == '[')//左括号入栈 stk.push(s[i]);else if(s[i] == ')' || s[i] == ']'){if(stk.empty() || s[i] == ')' && stk.top() != '(' ||s[i] == ']' && stk.top() != '[')//栈空或括号不配对 {cout << "Wrong";//无法配对 return 0;}elsestk.pop();}}if(stk.empty())//如果栈不空,则无法配对 cout << "OK";elsecout << "Wrong";return 0;
}

信息学奥赛一本通 1354:括弧匹配检验相关推荐

  1. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  2. 《信息学奥赛》1354:括弧匹配检验

    ** 1354:括弧匹配检验 ** 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 9963 通过数: 3195 [题目描述] 假设表达式中允许包含两种括号:圆括号和方括号,其嵌套 ...

  3. 1354:括弧匹配检验

    1354:括弧匹配检验 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10984 通过数: 3473 [题目描述] 假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意 ...

  4. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  5. 信息学奥赛一本通 1358:中缀表达式值(expr)

    [题目链接] ybt 1358:中缀表达式值(expr) [题目考点] 1. 表达式求值 中缀表达式转后缀表达式 后缀表达式求值 [解题思路] 由于题目要求做中缀表达式转为后缀表达式,而后求值.那么这 ...

  6. 信息学奥赛一本通在线提交地址

    信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...

  7. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  8. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  9. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

最新文章

  1. 数据库索引的作用和优点缺点
  2. Java07-day07【类和对象、对象内存图、成员变量与局部变量、private、this、封装、构造方法】
  3. 使用js如何获取treeview控件的当前选中的节点
  4. 质疑“扩版=质量下降”——以《中国农学通报》和《安徽农业科学》为例
  5. NodeJS 数组超出部分以弹出框显示。
  6. XStream 初探,很给力
  7. OpenCV与机器视觉
  8. 计算机毕业设计之 [含论文+答辩PPT+任务书+中期检查表+源码等]S2SH动漫论坛[包运行成功]
  9. 通过console口连接AC控制器,修改WiFi密码
  10. 《FPGA设计实战演练》学习笔记(二)FPGA核心板电路设计
  11. Java Static关键字详解
  12. jdk1.8 在綫英文+有道翻譯版
  13. 裸金属服务器性能描述,金山云-文档中心-集群支持裸金属服务器
  14. 子平真诠释疑笔记(三)
  15. 论文翻译——Rapid 2D-to-3D conversion——快速2D到3D转换
  16. 配置CLion进行嵌入式STM32的HAL库开发
  17. 如何通过 AirPlay 镜像您的 Mac 显示器
  18. android手机 垃圾箱,Dumpster Pro「回收站」v3.6.386 for Android 直装解锁高级版 —— 一款不错的 Android 垃圾箱 / 回收站应用...
  19. Eclipse快捷键整理MacWindows版
  20. 【笔记】嵌入式C语言随堂笔记

热门文章

  1. 传奇GOM引擎-GEE引擎版本如何添加GM账号刷装备
  2. c语言 去电txt空白行,删除字符串中多余的空白字符和空行(C语言实现)
  3. OpenGL4.0学习5.1--纹理(Targa图片贴图)
  4. 【Matlab学习笔记】报错——检查对函数‘Link’的调用中是否缺失参数或参数数据类型不正确。
  5. php 心跳包检测,redis的对端心跳检测
  6. 组装计算机需要哪九件部件,组装各种电脑配件的规则是什么?组装电脑各配件规则介绍...
  7. Hive Distribute by 应用之动态分区小文件过多问题优化
  8. E. Jumpy Robot(枚举题)
  9. 读取文件夹下同类型文件的文件名并排序
  10. 爷爷:啥是佩奇?佩奇:Python 10 秒做出来,你看像不像?