zoukankan      html  css  js  c++  java
  • 7-1 堆栈操作合法性 (20 分)

    7-1 堆栈操作合法性 (20 分)

    假设以SX分别表示入栈和出栈操作。如果根据一个仅由SX构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入SX序列,判断该序列是否合法。

    输入格式:

    输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(50)是堆栈的最大容量。随后N行,每行中给出一个仅由SX构成的序列。序列保证不为空,且长度不超过100。

    输出格式:

    对每个序列,在一行中输出YES如果该序列是合法的堆栈操作序列,或NO如果不是。

    输入样例:

    4 10
    SSSXXSXXSX
    SSSXXSXXS
    SSSSSSSSSSXSSXXXXXXXXXXX
    SSSXXSXXX
    

      

    输出样例:

    YES
    NO
    NO
    NO
    

      

    #include<stdio.h>
    #include<stdlib.h>
    #include<malloc.h>
    #include<string.h>
    int main()
    {
        char Stack[100];
        int N, M;
        scanf("%d %d", &N, &M);
        for(int i=0; i<N; i++){
            scanf("%s", Stack);
            int l = 0, len = strlen(Stack), flag = 1;
            for(int j=0; j<len; j++){
                if(Stack[j]=='S')
                    l++;
                else
                    l--;
                if(l < 0 || l > M){
                    printf("NO
    ");
                    flag = 0;
                    break;
                }
            }
            if(flag == 1){
                if(l == 0)
                    printf("YES
    ", l);
                else
                    printf("NO
    ", l);
            }
    
        }
    }
    

      

  • 相关阅读:
    nodejs
    flask中flash(闪现)的使用
    flask中logger日志的使用
    flask中session的使用
    flask开启调试模式
    flask中静态文件的引入
    flask中模板引入
    python web开发屠龙刀flask
    python操作excel基础1-环境搭建
    php算法-dijkstra
  • 原文地址:https://www.cnblogs.com/Jie-Fei/p/10142431.html
Copyright © 2011-2022 走看看