G - 数据结构实验之栈与队列七:出栈序列判定

2023-11-03

Description

给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次。输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序列。

例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个出栈序列,但4,3,5,1,2就不可能是该序列的出栈序列。假设压入栈的所有数字均不相等。

Input

第一行输入整数n(1<=n<=10000),表示序列的长度。

第二行输入n个整数,表示栈的压入顺序。

第三行输入整数t(1<=t<=10)。

后面依次输入t行,每行n个整数,表示要判断的每一个出栈序列。

Output

对应每个测试案例输出一行,如果由初始入栈序列可以得到该出栈序列,则输出yes,否则输出no。

Sample

Input

5
1 2 3 4 5
2
4 5 3 2 1
4 3 5 1 2

Output

yes
no

答案:

#include <iostream>
#include<bits/stdc++.h>
#define ll long long
const int N = 1e4 + 10;
using namespace std;

int main()
{
    int n;
    cin>>n;
    int i;
    int a[N];  //入栈顺序
    int b[N];  //出战顺序
    int q[N];  //模拟栈
    for(i=0; i<n; i++)
    {
        cin>>a[i];
    }
    int t;
    cin>>t;
    while(t--)
    {
        for(i=0; i<n; i++)
            cin>>b[i];
        int j=0;
        int k=0;
        int top=0;
        while(j<n)
        {
            if(a[j]==b[k])
            {
                j++;
                k++;
            }
            else if(top&&q[top-1]==b[k])
            {
                top--;
                k++;
            }
            else
            {
                q[top]=a[j];
                top++;
                j++;
            }
        }
        while(top&&q[top-1]==b[k])
        {
            top--;
            k++;
        }
        if(top)
            printf("no\n");
        else
            printf("yes\n");
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

G - 数据结构实验之栈与队列七:出栈序列判定 的相关文章

  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • 为什么 int8_t 和用户通过 cin 输入显示奇怪的结果[重复]

    这个问题在这里已经有答案了 一小段代码让我发疯 但希望你能阻止我跳出窗外 看这里 include
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 如何在非控制台应用程序中查看 cout 输出?

    输出到调试窗口似乎相当繁琐 我在哪里可以找到cout如果我正在编写非控制台信息 则输出 Like double i a b cout lt lt b lt lt endl I want to check out whether b is z
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • Unity—关节、布料、角色控制器、视频播放

    开学啦 接下来学习Unity的寻路系统和射线 结尾有彩蛋呦 每日一句 少年特有的放浪不羁是青春的定义 目录 关节 布料 视频播放 Character Controller组件 关节 铰链关节 Hinge Joint 将两个刚体 Rigidb
  • jenkins fastlane淌坑记录

    目录 前言 管理证书 使用证书 构建命令 关于app托管 iOS的版本自增 testflight上传 fastlane下苹果的账号验证问题 iOS缓存问题 iOS打包会开启8081服务 fastlane获取最新代码 Fastlane完整代码
  • CSRF漏洞详解

    目录 一 CSRF漏洞原理 1 基本原理 2 流程图 3 条件 二 分类 1 GET型 2 POST型 三 危害 四 检测与防御 1 检测 2 防御 一 CSRF漏洞原理 1 基本原理 CSRF Cross site Request For
  • linux用c++获取mac地址,网卡地址,网口地址,网卡序号ip地址,不使用 ioctl(sock, SIOCGIFCONF, &ifc)获取网络接口名称,这个接口有时会返回-1获取不到,换方法获取

    linux用c 获取mac地址 不使用 ioctl sock SIOCGIFCONF ifc 获取网络接口名称 这个接口有时会返回 1获取不到 换方法获取 1 弃用 SIOCGIFCONF 获取网络接口名称列表 获取所有网络接口列表 ifc
  • # Python推荐系统学习笔记(3)------基于协同过滤的个性化推荐算法实战---隐语义模型

    Python推荐系统学习笔记 3 基于协同过滤的个性化推荐算法实战 隐语义模型 一 概念性理解 传统的推荐方法 UserCF 首先需要找到和他们看了同样书的其他用户 然后给他们推荐那些用户喜欢的其他书 ItemCF 需要给他们推荐和他们已经
  • SpringCloud-Hystrix服务降级与熔断简介与简单配置

    1 前言 作者最近在学习springcloud 本篇文章仅作为学习笔记 如有错误 敬请指正 2 Hystrix是什么 Hystrix是一个用于处理分布式系统的延迟和容错的开源库 在分布式系统里 许多依赖不可避免的会调用失败 比如 超时 异常
  • 8.常用统计分析方法——生存分析

    目录 生存分析基本概念 生存率估计 1 乘积极限法 2 寿命表法 3 生存曲线 生存曲线比较 COX比例风险回归模型 1 建立COX回归模型 2 比例风险假定的检验 3 生存预测 生存分析基本概念 logistic回归中因变量是终点事件发生
  • cocos creator碰撞和碰撞回调不生效

    1 碰撞不生效 一定要记得 在使用物理的时候 一定要先开启物理 cc director getPhysicsManager enabled true 只有在onLoad 中 开启 才有效 在onEnable 或者start 都无效 2 碰撞
  • Rational Rose 7.0安装教程

    关注公众号 免费获取资料 简介 Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具 用于可视化建模和公司级水平软件应用的组件构造 就像一个戏剧导演设计一个剧本一样 一个软件设计师使用Ration
  • 性能测试之性能监控和性能优化

    目录 一 概述 二 jconsole和jvisualvm 三 jconsole 四 visualvm 1 输入命令提示 jvisualvm不是内部或外部命令 也不是可运行的程序或批处理文件 2 打开jvisualvm里面不包含GC监控 五
  • 基于低代码平台实现的免费CRM系统

    编者按 企业生存的根本是客户资源 因此客户关系的管理对于企业来说至关重要 目前我国中小企业对于客户的管理方法不够重视 以致于客户外流 客户转化率不高 而CRM客户关系管理系统有助于企业培养和增强客户关系 下面就让我们一起来了解一下企业该如何
  • 使用Java编写的简单行为树

    引言 试着用java把以前用c 写的行为树复现了出来 代码 import java util Random 假设有一士兵 初始生命为100 弹药为200发 每个弹匣40发 会逃跑 会巡逻 会攻击 会换弹 会补给 会发现敌人 class So
  • MyBatis基础语法

    1 namespace用于指定dao Mapper 层文件的路径 2 property传入的值与po SysUser的属性对应 3 column传入的值与数据库的字段对应 4 javaType传入的值 路径 是java这边的数据类型 5 j
  • C语言写九九乘法表(五种方法)

    当我们学习编程语言时 通常需要掌握一些基本的语法和功能 在C语言中 输出九九乘法表是一个很好的练习 因为它既简单又有趣 本文将介绍如何用C语言编写代码来输出九九乘法表 在开始之前 请确保您已经安装了C语言的开发环境 比如VS2019 首先
  • el-input 怎么添加鼠标悬浮内容展示

    您可以通过使用el tooltip组件的content属性将提示框附加到el input中 然后 您可以添加一个文本框和图标 当鼠标悬停在这些元素上时 提示框就会显示 以下是示例代码
  • 在 Python 中使用 MQTT的方法

    更多编程教程请到 菜鸟教程 https www piaodoo com 友情链接 高州阳光论坛https www hnthzk com Python 是一种广泛使用的解释型 高级编程 通用型编程语言 Python 的设计哲学强调代码的可读性
  • 【华为OD机试真题 python】组装最大可靠性设备【2023 Q2

    前言 华为OD笔试真题 python 本专栏包含华为OD机试真题 会实时更新收纳网友反馈 为大家更新最新的华为德科OD机试试题 为大家提供学习和练手的题库 订阅本专栏后可私信进交流群哦 题目描述 组装最大可靠性设备 一个设备由N种类型元器件
  • QT的UDP协议

    UDP协议 客户端并不与服务器建立连接 它只负责调用发送函 数向服务器发出数据报 类似地 服务器也不从客户端接收连接 只负责调用接 收函数 等待来自某客户端的数据到达 客户端 端口号 quint64 初始化端口 quint64 port 5
  • idea 出现 Failure to find org.eclipse.m2e:lifecycle-mapping:pom:1.0.0 in http://maven.aliyun.com/

    使用mybatis autogenerator时失败 显示Failure to find org eclipse m2e lifecycle mapping pom 1 0 0 in http maven aliyun com nexus
  • G - 数据结构实验之栈与队列七:出栈序列判定

    Description 给一个初始的入栈序列 其次序即为元素的入栈次序 栈顶元素可以随时出栈 每个元素只能入栈依次 输入一个入栈序列 后面依次输入多个序列 请判断这些序列是否为所给入栈序列合法的出栈序列 例如序列1 2 3 4 5是某栈的压