P1739 表达式括号匹配
题目描述
假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。
请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。
表达式长度小于255,左圆括号少于20个。
输入格式
一行:表达式
输出格式
一行:“YES” 或“NO”
输入输出样例
输入 #1
2*(x+y)/(1-x)@
输出 #1
YES
输入 #2
(25+x)*(a*(a+b+b)@
输出 #2
NO
说明/提示
表达式长度小于255,左圆括号少于20个
Code
/*^....0^ .1 ^1^.. 011.^ 1.0^ 1 ^ ^0.11 ^ ^..^0. ^ 0^.0 1 .^.1 ^0 .........001^.1 1. .111100....01^00 11^ ^1. .1^1.^ ^0 0^.^ ^0..1.1 1..^1 .0 ^ ^00. ^^0.^^ 0 ^^110.^0 0 ^ ^^^10.01^^ 10 1 1 ^^^1110.101 10 1.1 ^^^1111110010 01 ^^ ^^^1111^1.^ ^^^10 10^ 0^ 1 ^^111^^^0.1^ 1....^11 0 ^^11^^^ 0.. ....1^ ^ ^1. 0^ ^11^^^ ^ 1 111^ ^ 0.10 00 11 ^^^^^ 1 0 1.0^ ^0 ^0 ^^^^ 0 0.0^ 1.0 .^ ^^^^ 1 1 .0^.^ ^^ 0^ ^1 ^^^^ 0. ^.11 ^ 11 1. ^^^ ^ ^ ..^^..^ ^1 ^.^ ^^^ .0 ^.00..^ ^0 01 ^^^ .. 0..^1 .. .1 ^.^ ^^^ 1 ^ ^0001^ 1. 00 0. ^^^ ^.0 ^.1. 0^. ^.^ ^.^ ^^^ ..0.01 .^^. .^ 1001 ^^ ^^^ . 1^. ^ ^. 11 0. 1 ^ ^^ 0.0 ^. 0 ^0 1 ^^^ 0.0.^ 1. 0^ 0 .1 ^^^ ...1 1. 00 . .1 ^^^ ..1 1. ^. 0 .^ ^^ ..0. 1. .^ . 0 ..1 1. 01 . . ^ 0^.^ 00 ^0 1. ^ 1 1.0 00 . ^^^^^^ ..^ 00 01 ..1. 00 10 1 ^^.1 00 ^. ^^^ .1.. 00 .1 1..01 ..1.1 00 1. ..^ 10^ 1^ 00 ^.1 0 1 1.1 00 00 ^ 1 ^. 00 ^.^ 10^ ^^1.1 00 00 10^..^ 1. ^. 1.0 1 ^. 00 00 .^^ ^. ^ 1 00 ^0000^ ^ 011 0 ^. 00.0^ ^00000 1.00.1 11. 1 0 1^^0.01 ^^^ 01.^ ^ 1 1^^ ^.^1 1 0... 1 ^1 1^ ^ .01 ^ 1.. 1.1 ^0.0^ 0 1..01^^100000..0^1 1 ^ 1 ^^1111^ ^^0 ^ ^ 1 1000^.1 ^.^ . 00.. 1.1 0. 01. . 1. .^1. 1 1. ^0^ . ^.1 00 01^.0 001. .^*/
// train —— 1739.cpp created by VB_KoKing on 2019-08-14.
/* Procedural objectives:Variables required by the program:Procedural thinking:Functions required by the program:Determination algorithm:Determining data structure:*/
/* My dear Max said:
"I like you,
So the first bunch of sunshine I saw in the morning is you,
The first gentle breeze that passed through my ear is you,
The first star I see is also you.
The world I see is all your shadow."FIGHTING FOR OUR FUTURE!!!
*/#include <stack>
#include <cstdio>
#include <string>
#include <cstring>
#include <iostream>void solve();using namespace std;int main() {solve();return 0;
}void solve() {string str;cin >> str;stack<bool> test;for (int i = 0; i < str.length(); i++) {if (str[i] == '(') test.push(true);else if (str[i] == ')') {if (test.empty()) {printf("NO");return;}test.pop();}}if (!test.empty()) {printf("NO");return;}printf("YES");return;
}
P1739 表达式括号匹配相关推荐
- 洛谷——P1739 表达式括号匹配
P1739 表达式括号匹配 题目描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右 ...
- P1739表达式括号匹配
题目描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返 ...
- 数据结构--表达式括号匹配和运算
多项式括号匹配: #include <stdio.h> #include <malloc.h>#define STACK_MAX_SIZE 10//创建栈结构体 typedef ...
- 表达式括号匹配(信息学奥赛一本通-T1353)
[题目描述] 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配, ...
- 表达式括号匹配_洛谷1739_栈
题目背景 你猜 题目描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹 ...
- 题解-表达式括号匹配
描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结 束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回 ...
- 西北工业大学noj数据结构表达式括号匹配(严3.19)
这道题要求我们判断输出的一个字符串中的括号是否符合运算规律.可以运用栈的思想.如果一个括号是左括号就入栈,如果输出一个右括号就将它和栈头的左括号对比,符合就出栈(相当于消掉).最后如果还有没消掉的括号 ...
- 六十三、栈在括号匹配和表达式求值中的应用
@Author:Runsen 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化. ---- Runsen 算法,一门既不容易入门,也不容易精通的学问. 文章目录 括号匹配 数 ...
- c语言括号匹配的检验,检验括号匹配的算法
用栈实现检验括号匹配的算法没啥具体描述,数据结构的知识,急用,有重赏 思想是 先进栈,获取第一个半边括号,标记一下,继续进栈直到获取到第二个与之匹配的另一外括号,然后出栈,取出内容.就这样.. 数据结 ...
最新文章
- python跳回循环开始位置_如何将程序从用户输入循环回起始位置?
- linux下IPTABLES配置详解
- linux kernel中cache代码解读
- C#高性能大容量SOCKET并发(十一):编写上传客户端
- 序列化以及反序列化二叉树
- QMainWindow中的布局管理
- Http Live Streaming 实现iphone在线播放视频[转]
- 前端路由: hash history 模式
- [MyBatis]诡异的Invalid bound statement (not found)错误
- 网络热词下的民意传播
- HashMap,Hashtabel,ConcurrentHashMap的区别
- JSON.Stringify
- win10环境redis集群搭建(非主从模式)
- 侠众道武功最佳练级方案_千年练级经验总结
- 域名whois查询违规吗_WHOIS域ID隐私保护如何工作? 我需要域名WHOIS隐私吗?
- 微信小程序开发之——音乐播放器-播放器(3.4)
- 4-2. 打印九九口诀表
- 飞桨day-04 NLP实践作业
- 微信小程序使用crypto.js加密解密
- Y z推荐菜东家 易订货生鲜系统_新零售·新生鲜——易订货生鲜专版客户交流会(贵阳站)圆满结束!...