7-1 堆栈操作合法性 (15 分)
**
7-1 堆栈操作合法性 (15 分)
**
假设以S和X分别表示入栈和出栈操作。如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列。请编写程序,输入S和X序列,判断该序列是否合法。
输入格式:
输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50)是堆栈的最大容量。随后N行,每行中给出一个仅由S和X构成的序列。序列保证不为空,且长度不超过100。
输出格式:
对每个序列,在一行中输出YES如果该序列是合法的堆栈操作序列,或NO如果不是。
输入样例:
4 10
SSSXXSXXSX
SSSXXSXXS
SSSSSSSSSSXSSXXXXXXXXXXX
SSSXXSXXX
//结尾无空行
输出样例:
YES
NO
NO
NO
//结尾无空行
#include <stdio.h>
#include <stdlib.h>
#include <string.h>void pd(){int N,M,i,j,k=0,a=0,flag=1;scanf("%d %d",&N,&M);char x;getchar();for(i=0;i<N;i++){//S=CreateStack(M);//创建栈while((x=getchar())!='\n'){//printf("%c ",x);if(x=='S'){//入栈a++;if(a>M){flag=0;//break;}//printf("%d ",a);}else if(x=='X'){//出栈a--;if(a<0){flag=0;//break;}//printf("%d ",a);}}if(a==0&&flag==1){//栈空且在入栈出栈时合法printf("YES\n");}else{//栈不空且在入栈出栈时合法printf("NO\n");}a=0;flag=1;}}int main(){pd();return 0;}
7-1 堆栈操作合法性 (15 分)相关推荐
- 7-11 堆栈操作合法性 (20 分)以及堆栈讲解(c语言实现)
关于堆栈: 1.它是什么 2.它为什么会出现/它的出现解决了什么问题 3.我们要怎么使用它 堆和栈到底是什么 栈和堆(托管堆)都存在于进程的虚拟内存中. 栈(Stack) 是操作系统在建立某个进程时或 ...
- 7-113 堆栈操作合法性 (20 分)
7-113 堆栈操作合法性 (20 分) 假设以S和X分别表示入栈和出栈操作.如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序 ...
- 习题3.9 堆栈操作合法性 (20分)
习题3.9 堆栈操作合法性 假设以S和X分别表示入栈和出栈操作.如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈 ...
- 【PTA】7-1 堆栈操作合法性 (18 分)
倒也不用真的用到栈. #include<iostream> using namespace std; int main() {int n,m;cin>>n>>m;w ...
- 7-1 堆栈操作合法性(20 分)
7-1 堆栈操作合法性(20 分) 假设以S和X分别表示入栈和出栈操作.如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合 ...
- 堆栈操作合法性 C++
温馨提示:本题为深大OJ原题,深大的同学请勿直接抄袭,以免出现多个代码相同以致评0分的情况,代码和思路仅供参考,希望大家能逐步成长. 目录 题目描述 思路分析 AC代码 题目描述 假设以S和X分别表示 ...
- 堆栈操作合法性 (C语言)
题目详情 假设以S和X分别表示入栈和出栈操作.如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列.请编写程 ...
- 浙江大学远程教育学院计算机考试,浙江大学远程教育学院机试题 Windows操作题(共15分,若有做错请酌情 ....docx...
浙江大学远程教育学院机试题 Windows操作题(共15分,若有做错请酌情 ....docx 第 PAGE 26 页 共 NUMPAGES 36 页 浙江大学远程教育学院机试题 Windows操作题( ...
- 7-4 递增序列 (15 分)
7-4 递增序列 (15 分) 递增序列指的是,在序列中,对于任何两个相邻的数b[i]和bi+1,总有b[i]<b[i+1].现在,给你一个序列b[1],b[2],-b[n],和一个正整数d,每 ...
最新文章
- 一个从四秒到10毫秒,花了1年的算法问题?
- 新业态催生无人经济步入黄金发展期
- PHP Token(令牌)设计
- ajax传递数组,后台接收为null解决方法
- 评估系统C语言答案,用C语言评估语句
- python游戏房间_Python House冒险-如果已经进入一个房间,如何给出不同的输出
- lua循环,减少不必要的循环
- 用四级法测量计算机土壤电阻率,土壤电阻率的原理及测量土壤电阻率的测量方法...
- @Autowired与@Resource用法
- PADS2007_教程之PADS LAYOUT
- 『开发』小程序通过易班接口登陆并请求数据
- 教师资格证上传照片时显示“内部服务器错误”解决方法(亲测有效)
- python找不到文件怎么办_python中open找不到文件怎么解决
- JavaScript 正则匹配中英文姓名
- 有什么可以将word转换成pdf的免费转换工具?
- C++高阶 类型转换函数最透彻的一篇文章
- 最经典的黑客入门教程
- db2数据库表修改列为主键
- linux下多进程聊天室,从0实现基于Linux socket聊天室-多线程服务器模型-1
- Python去掉列表中的 ‘ | ’ |竖线分隔符