luoguP1739 表达式括号匹配 x
P1739 表达式括号匹配
题目描述
假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。
输入输出格式
输入格式:
一行:表达式
输出格式:
一行:“YES” 或“NO”
输入输出样例
- ①
 - 2*(x+y)/(1-x)@
 - ②
 - (25+x)*(a*(a+b+b)@
 
- ①
 - YES
 - ②
 - NO
 
说明
表达式长度小于255,左圆括号少于20个
思路:
运用栈
坑点:
遇到右括号时必须要进行判断,当top>0时才可进行--,否则return false
上代码:
- #include<iostream>
 - #include<cstdio>
 - #include<cstdlib>
 - using namespace std;
 - char ch[];
 - int s[];
 - bool judge(char ch[])
 - {
 - int i=,top=;
 - while(ch[i]!='@')
 - {
 - if(ch[i]=='(')
 - top++;
 - if(ch[i]==')')
 - {
 - if(top>)
 - top--;
 - else ///不够减
 - return false;
 - }
 - i++;
 - }
 - if(top!=)
 - return false;
 - else
 - return true;
 - }
 - int main()
 - {
 - scanf("%s",ch);
 - if(judge(ch))
 - printf("YES");
 - else
 - printf("NO");
 - return ;
 - }
 
luoguP1739 表达式括号匹配 x的更多相关文章
- 洛谷 P1739 表达式括号匹配
		
题目链接https://www.luogu.org/problemnew/show/P1739 题目描述 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为 ...
 - 栈的应用:表达式括号匹配检测(C)
		
问题说明: 假设数学表达式中允许包含两种括号:圆括号"()"和方括号"[]",嵌套顺序任意. 正确的嵌套模式:( [ ] ( ) ).[ ( [ ] [ ] ) ...
 - P1739_表达式括号匹配(JAVA语言)
		
思路:刚开始想用stack,遇到'('就push,遇到')'就pop,后来发现其实我们只需要用到栈里'('的个数,所以我们用一个变量统计'('的个数就好啦~ 题目描述 假设一个表达式有英文字母(小写) ...
 - 表达式括号匹配(stack)
		
题目描述 假设一个表达式由英文字母(小写).运算符(+.-.*./)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右括号是否匹配,若匹配,则返回“YES”:否则返回 ...
 - (栈 注意格式)P1739 表达式括号匹配 洛谷
		
题目描述 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”:否则返 ...
 - 表达式括号匹配(stack.cpp)
		
[问题描述] 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回 ...
 - 1353表达式括号匹配(stack)
		
[题目描述] 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”:否 ...
 - 洛谷  P1739 表达式括号匹配【STL/stack/模拟】
		
题目描述 假设一个表达式有英文字母(小写).运算符(+,-,*,/)和左右小(圆)括号构成,以"@"作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返 ...
 - P1739 表达式括号匹配
		
题目描述 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”:否则返 ...
 
随机推荐
- python中property属性的介绍及其应用
			
Python的property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回. 使用property修饰的实例方法被调用时,可以把它当做实例属性一样 property的 ...
 - iproute2使用及网络名称空间
			
创建一个网络名称空间: 相当于创建一个完全隔离的新网络环境,这个环境包括一个独立的网卡空间,路由表,ARP表,ip地址表,iptables,ebtables,等等.总之,与网络有关的组件都是独立的. ...
 - vue.js中,如何把text按html格式化显示
			
先说方法:v-html = "你的字符串" <el-table-column type="expand" label="详情" hea ...
 - luogu题解P4198楼房重建--线段树神操作
			
题目链接 https://www.luogu.org/problemnew/show/P4198 分析 一句话题意,一条数轴上有若干楼房,坐标为\(xi\)的楼房有高度\(hi\),那么它的斜率为\( ...
 - 和 Python 2.x 说再见!项目移到python3
			
如果你仍在使用 2.x,那么是时候将你的代码移植到 Python 3 了. 在技术的长河中,软件.工具.系统等版本的迭代本是常事,但由于使用习惯.版本的兼容性.易用性等因素,很多用户及开发者在使用或做 ...
 - 记一次配置阿里云ECS GPU计算型gn5实例
			
基础配置 CPU: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz * 16 MEM: 120 GiB GPU: NVIDIA P100 * 2 OS: Ubunt ...
 - vue2中的keep-alive使用总结及注意事项
			
问题总结;最近在写vue移动端的项目的时候,当我切换菜单,再切换换回去的时候,发现页面出现闪动的效果,其原因是因为切换回去之后,页面重新渲染了;为了解决这一问题:查阅资料,只需要在 入口文件 App. ...
 - c#类生成表
			
第一步: 创建MyContext类 public class MyContext:DbContext { public MyContext():base() { } public DbSet<U ...
 - Java学习笔记【九、集合框架】
			
集合框架设计的目标: 高性能. 允许不同类型的集合,以类似的方式工作,有互操作性. 对一个集合的扩展和适应必须简单. 集合框架包含: 接口:代表集合的抽象数据类型. 实现(类):具体实现(ArrayL ...
 - MySQL8.x  msi版安装教程
			
一.下载MySQL 官网下载地址 https://dev.mysql.com/downloads/windows/installer/8.0.html 下载第二个即可(虽然只有32位的 但是会同时安 ...