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);
            }
    
        }
    }
    

      

  • 相关阅读:
    mysql触发器实时检测一条语句进行备份删除
    ORA-12560: TNS: 协议适配器错误 windows
    DG:windows密码文件
    vim already exists!
    k8s 集群升级
    部署 k8s 备份工具 velero
    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    lens 添加 k8s 集群
    redis系列
    s3c2440裸机-I2c编程-3.i2c中断服务程序
  • 原文地址:https://www.cnblogs.com/Jie-Fei/p/10142431.html
Copyright © 2011-2022 走看看