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 }
  • 相关阅读:
    118/119. Pascal's Triangle/II
    160. Intersection of Two Linked Lists
    168. Excel Sheet Column Title
    167. Two Sum II
    172. Factorial Trailing Zeroes
    169. Majority Element
    189. Rotate Array
    202. Happy Number
    204. Count Primes
    MVC之Model元数据
  • 原文地址:https://www.cnblogs.com/TFLSc1908lzs/p/13530522.html
Copyright © 2011-2022 走看看