表达式括号匹配(信息学奥赛一本通-T1353)
【题目描述】
假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。
【输入】
一行数据,即表达式。
【输出】
一行,即“YES” 或“NO”。
【输入样例】
2*(x+y)/(1-x)@
【输出样例】
YES
【源程序】
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<map>
#define PI acos(-1.0)
#define E 1e-9
#define INF 0x3f3f3f3f
#define LL long long
const int MOD=1000000007;
const int N=10000+5;
const int dx[]= {-1,1,0,0};
const int dy[]= {0,0,-1,1};
using namespace std;
char str[N];
stack<int> S;
int main(){gets(str);int len=strlen(str);for(int i=0;i<len;i++){if(str[i]=='(')//记录左括号S.push(1);else if(str[i]==')')//记录右括号{if(!S.empty())//栈不为空时S.pop();elseS.push(1);}}if(S.empty())//栈为空说明匹配cout<<"YES"<<endl;elsecout<<"NO"<<endl;return 0;
}
表达式括号匹配(信息学奥赛一本通-T1353)相关推荐
- 中缀表达式值(信息学奥赛一本通-T1358)
[题目描述] 输入一个中缀表达式(由0-9组成的运算数.加+减-乘*除/四种运算符.左右小括号组成.注意"-"也可作为负数的标志,表达式以"@"作为结束符),判 ...
- 信息学奥赛一本通 1358:中缀表达式值(expr)
[题目链接] ybt 1358:中缀表达式值(expr) [题目考点] 1. 表达式求值 中缀表达式转后缀表达式 后缀表达式求值 [解题思路] 由于题目要求做中缀表达式转为后缀表达式,而后求值.那么这 ...
- 信息学奥赛一本通 (C++)上机练习
信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...
- 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)
信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法 更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...
- 信息学奥赛一本通 1356:计算(calc)
[题目链接] ybt 1356:计算(calc) [题目考点] 1. 表达式求值 中缀表达式求值 2. 表达式树 表达式树:一棵表达式树可以表示一系列的运算. 表达式树中的结点包括运算符与数值 str ...
- 信息学奥赛一本通在线提交地址
信息学奥赛一本通 1 C++语言入门 1.1 综合 1.1.1 P1458 地球人口承载力估计 正确: 770 提交: 1794 比率: 42.92 % 1.1.2 P1686 Hello, Worl ...
- 【信息学奥赛一本通】题解大全
信息学奥赛一本通网站:点击这里 [语言及算法基础篇] 第一部分:C++语言 第一章:C++语言入门 T1000 入门测试题目 点击这里 T1001 Hello,World! ...
- 信息学奥赛一本通 题解目录
刷题 很全的知识体系 转载:https://blog.csdn.net/u011815404/article/details/79324003 第一部分 C++语言 第一章 C++语言入门 T1001 ...
- 信息学奥赛一本通(题解目录)
信息学奥赛一本通(题解目录) 记录了我从初学者到逐渐熟悉c++的成长之路 信息学奥赛一本通OJ 目录 信息学奥赛一本通(题解目录) 前言 一.语言及算法基础篇 基础(一) C++语言 第一章 C++语 ...
最新文章
- python学习第四课
- 【 Vivado 】输出延迟约束(Constraining Ouput Delay)
- Eclipse快捷键 10个最有用的快捷键 提高开发效率
- 如何在Chatbot中应用深度学习
- Integer判断相等,到底该用==还是equals
- 数据结构(严蔚敏)之五——循环队列(c语言实现)
- SAP Analytics Cloud里看到的SAP C4C的query列表,是从哪里取出来的
- CSS和JavaScript在线代码压缩工具推荐
- SAP ECC EHP7 RFC 发布成WebService
- uni-app中使用腾讯位置服务实现小程序地图选点功能
- box-shadow
- shell命令-if语句
- 视音频格式基础知识视频压缩
- 如何让你的SQL运行得更快(一)
- linux 编写java代码
- android studio中tabhost自定义,Android Studio——TabWiget组件实现(带图标签)
- 打开.class文件
- FAT32/exFAT/NTFS,三种U盘格式的区别
- 终于交作业了,View Design 的设计资源上线啦,免费哦
- calcite learn