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

表达式括号匹配(stack)(信息学奥赛一本通-1353)

【题目描述】

假设一个表达式有英文字母(小写)、运算符(+,—,∗,/)和左右小(圆)括号构成,以“@
”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。

【输入】

一行数据,即表达式。

【输出】

一行,即“YES” 或“NO”。

【输入样例】

2*(x+y)/(1-x)@

【输出样例】

YES

【提示】

【样例输入2】

(25+x)*(a*(a+b+b)@

【样例输出2】

NO

【题解代码】

#include<bits/stdc++.h>
using namespace std;

int main()
{
	stack<char> stk;
	char c;
	while (cin >> c || c != '@')
	{
		if (c == '(')stk.push(c);
		else if (c == ')')
		{
			if (stk.empty())
			{
				cout << "NO";
				return 0;
			}
			else 
				stk.pop();
		}
	}
	if (stk.empty()) cout << "YES";
	else cout << "NO";

	return 0;
}

相关文章:

  • 图论 | 岛屿数量(深搜,广搜)
  • 【动态规划】下降路径最小和
  • 【笔记分享】NCS/Zephyr 使能SPI SD卡方法介绍
  • C语言入门教程100讲(39)文件读写
  • 第二章 EXI协议原理与实现--8.4 对-2/-20所有命令的测试结果
  • JVM的组成及各部分的作用
  • 数据结构 -- 线索二叉树
  • 深度学习Python编程:从入门到工程实践
  • centos7连不上接网络
  • scoop安装教程与bug记录以及常用命令(教程总结)
  • Java算法队列和栈经常用到的ArrayDeque
  • Linux文件系统与磁盘管理
  • Java并发编程(2)
  • 华为Pura先锋盛典及鸿蒙智家产品发布,空气算法重构健康家居“阔”美学
  • UI-TARS与Midscene.js自动化探索
  • 【计算机网络】网络编程
  • 使用AI一步一步实现若依(21)
  • Koupleless 是一种模块化的 Serverless 技术解决方案
  • 系统性能评测和可靠性基础——可靠性、可用性、可维护性
  • 图解神经网络和强化学习
  • 比黄油年糕热量还高,这个火爆全网的甜品劝你慎吃
  • 智能终端出海服务创新联合体成立
  • 广东省副省长刘红兵任湖南省委常委、宣传部部长
  • 中信银行一季度净利195.09亿增1.66%,不良率持平
  • 中国人保聘任田耕为副总裁,此前为工行浙江省分行行长
  • 怒江州委常委、泸水市委书记余剑锋调任云南省委省直机关工委副书记