zoukankan      html  css  js  c++  java
  • 【TFLSnoi李志帅】第三篇文章

    满分代码,建议可以允许尽量不要直接copy,不喜勿喷嗷~

    1353:表达式括号匹配(stack)


    时间限制: 1000 ms         内存限制: 65536 KB
    提交数: 11556     通过数: 6141

    【题目描述】

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

    【输入】

    一行数据,即表达式。

    【输出】

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

    【输入样例】

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

    【输出样例】

    YES

    【提示】

    【样例输入2】

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

    【样例输出2】

    NO



    ——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 char sta[300];//本题要用到栈
     4 int t=0;
     5 void push(char x)
     6 {
     7     sta[++t]=x;
     8 }
     9 void pop()
    10 {
    11     t--;
    12 }
    13 bool empty()
    14 {
    15     return t==0?1:0;//特殊声明:t==0?1:0 换一种写法是 if(t==0)return 1;else return 0;
    16 }
    17 int top()
    18 {
    19     return sta[t];
    20 }
    21 void clear()
    22 {
    23     t=0;
    24 }
    25 int size()
    26 {
    27     return t;
    28 }
    29 int main()
    30 {
    31     char a[300];
    32     int sum=0,flag=1;
    33     gets(a);
    34     sum=strlen(a); //获取字符串a的长度
    35     for(int i=0;i<sum;i++)
    36     {
    37         if(a[i]=='(')push(a[i]);
    38         if(a[i]==')'){
    39             if(top()=='(')//一一对应括号,不需要管其它数字运算符
    40             pop();
    41             else{
    42                 flag=0;//当括号无法一一对应时,直接跳出循环,输出“NO”,flag作为判断旗帜,int冒充bool类型(嘿嘿
    43                 break;
    44             }
    45         }
    46     }
    47     if(empty()==0)flag=0;//判断另一种特殊情况:左括号数量大于右括号;
    48     if(flag)cout<<"YES";
    49     else cout<<"NO";
    50     return 0;
    51 }
  • 相关阅读:
    NET基础课--NET的一些概念0
    项目异常及处理方法记录
    个人总结
    NuGet学习笔记(4)—— 实践
    NuGet学习笔记(3)——搭建属于自己的NuGet服务器(转)
    NuGet学习笔记(2)——使用图形化界面打包自己的类库(转)
    NuGet学习笔记(1)——初识NuGet及快速安装使用(转)
    关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
    <iOS>UIImage变为NSData并进行压缩
    iOS 将NSArray、NSDictionary转换为JSON格式进行网络传输
  • 原文地址:https://www.cnblogs.com/TFLSc1908lzs/p/13530522.html
Copyright © 2011-2022 走看看