首页 > 其他分享 >无容量限制的出栈序列验证——模拟

无容量限制的出栈序列验证——模拟

时间:2024-01-18 11:44:26浏览次数:21  
标签:出栈 验证 int sum 队列 序列 include stackq

#include<iostream>
#include<stack>
using namespace std;
//stack<int>q;//栈q 
int n,m,t;
const int N=1100;
int a[N],sum=1;//入栈队列a,待检验队列b,计数器sum 
int main()
{
	cin>>m>>n>>t;
for(int i=1;i<=n;i++)
		cin>>a[i];
	while(t--){
		stack<int>q;//栈q 
		int b[N];sum=1;
	bool hve=false;
	for(int i=1;i<=n;i++)
		cin>>b[i];//平平无奇的输入 
	for(int i=1;i<=n;i++)
		{
			//cerr<<i<<" "<<q.size()<<endl;
			if(q.size()>=m){
				cout<<"NO"<<endl;
				hve=true;
				break;
			}
			q.push(a[i]);//入栈 
			while((q.top())==b[sum])//当栈顶元素与b中当前元素相同时出栈 
			{
				q.pop(),sum++;//sum++到b下一个元素 
				if(q.empty())break;//注意这里,第一次RE就因为当栈空时还用了出栈操作,所以要手动结束循环 
			}
		}
		if(hve)continue;
		if(q.empty()) cout<<"YES"<<endl;//如果栈为空说明出栈序列b正确 
		else cout<<"NO"<<endl;
		//while(!q.empty())q.pop();//清空栈 
	}
	return 0;//谢幕 
}

标签:出栈,验证,int,sum,队列,序列,include,stackq
From: https://www.cnblogs.com/mathiter/p/17972185

相关文章

  • NC91 最长上升子序列(三)
    https://www.nowcoder.com/practice/9cf027bf54714ad889d4f30ff0ae5481?tpId=117&rp=1&ru=%2Fexam%2Foj&qru=%2Fexam%2Foj&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3D%25E7%25AE%2597%25E6%25B3%2595%25E7%25AF%2587%26topicId%3D117&difficulty=&j......
  • 「云渲染科普」blender如何导出序列帧与序列帧动画
    blender是不少人都在使用的动画建模软件,工具免费使用,且支持多种渲染器插件,能够为用户制作出完整得动画人物、场景建模,那么blender中去如何导出序列帧与序列帧动画呢?下面一起来看看吧。一、blender怎么导出序列帧1、先设置输出格式为:PNG,在点击ctrlF12渲染动画,等待序列帧图像......
  • 几种常见的注册登录验证(vue)
    几种常见的注册登录验证(vue):https://mp.weixin.qq.com/s?__biz=MzUzMTMxODY3OQ==&mid=2247493893&idx=1&sn=687cac339a3350c548043e069b9db1ac&chksm=fa46fbfdcd3172eb45e49a1b563e47f048224653ecb9c50957e38eedb0a67e0d17ca3207aa66&mpshare=1&scene=23&s......
  • Python pickle 二进制序列化和反序列化 - 数据持久化
    模块pickle实现了对一个Python对象结构的二进制序列化和反序列化。"pickling"是将Python对象及其所拥有的层次结构转化为一个字节流的过程,而"unpickling"是相反的操作,会将(来自一个binaryfile或者bytes-likeobject的)字节流转化回一个对象层次结构。pickling(和unp......
  • 验证二叉搜索树
    首先要明白二叉搜索树如果按照中序遍历存放在数组就是呈现递增的形式。所以该题的框架一定是基于中序遍历的形式。但我最开始写的时候忽略了一个点,if(root->left->val>=root->val){returnfalse;}if(root->right->val<=root->val){returnfalse;}这样每个二叉树单独看都可以......
  • P2572 [SCOI2010] 序列操作 题解
    题解:序列操作比较综合的ds题,综合了线段树常见的几种操作:维护最大子段和、区间翻转、区间求和、区间覆盖。维护子段和常见的我们维护三类东西:前缀最长连续段、后缀最长连续段、当前区间上的最大子段和。在pushUp时,对于一个区间的前后缀最值首先等于左右子树的最长前后缀,......
  • 实现手机/PC端滑块验证(VUE+Springboot)
    思路a,通过后端,获取到图片,这个图片自己定义,随便是撒。b,通过代码把图片进行随机抠图,扣出一块,形成第二个图,该小图就是为了合并到原有的窟窿中。c,然后把两个图传到后端,保存抠出的图需要移动的距离到redis,作为验证值。d,前端根据图的位置展示底图与小图e,进行移动,完成后进行验证。......
  • 无涯教程-SQL - Sequences(序列)
    序列是按需生成的一组整数1、2、3,...。序列在数据库中经常使用,因为许多应用程序要求表中的每一行都包含唯一值。本章介绍如何在MySQL中使用序列。AUTO_INCREMENT列MySQL中使用序列的最简单方法是将一列定义为AUTO_INCREMENT,其余部分留给MySQL处理。试试下面的例子,这将创建一......
  • PHP开发API接口签名生成及验证
    开发过程中,我们经常会与接口打交道,有的时候是调取别人网站的接口,有的时候是为他人提供自己网站的接口,但是在这调取的过程中都离不开签名验证。我们在设计签名验证的时候,请注意要满足以下几点:可变性:每次的签名必须是不一样的。时效性:每次请求的时效,过期作废等。唯一性:每次的签......
  • 机器学习-概率图模型系列-隐含马尔科夫-观测序列的概率计算-35
    目录1.暴力求解法2.前向算法求HMM观测序列的概率3.从后往前推后向算法1.暴力求解法任意一条路径都有可能得到需要的观测结果:如果我们的隐藏状态数N非常多的那就麻烦了,此时我们预测状态有NT种组合,算法的时间复杂度是O(TNT)阶的2.前向算法求HMM观测序列的概率在前向算......