当前位置: 首页 > news >正文

《P4387 【深基15.习9】验证栈序列》

题目描述

给出两个序列 pushed 和 poped 两个序列,其取值从 1 到 n(n≤100000)。已知入栈序列是 pushed,如果出栈序列有可能是 poped,则输出 Yes,否则输出 No。为了防止骗分,每个测试点有多组数据,不超过 5 组。

输入格式

第一行一个整数 q,询问次数。

接下来 q 个询问,对于每个询问:

第一行一个整数 n 表示序列长度;

第二行 n 个整数表示入栈序列;

第三行 n 个整数表示出栈序列;

输出格式

对于每个询问输出答案。

输入输出样例

输入 #1复制

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

输出 #1复制

Yes
No

代码实现:

#include <iostream>
#include <stack>
#include <vector>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv)
 {
     int m,n,i,j,c[100001];
     cin>>m;
     stack<int> sta;
     for(j=0;j<m;j++)
    {
         cin>>n;
         int a[n],b[n];
         for(i=0;i<n;i++)
         {
             cin>>a[i];
        }
        for(i=0;i<n;i++)
         {
             cin>>b[i];
        }
        int head=0;
        for(i=0;i<n;i++)
        {
            sta.push(a[i]);
            while(sta.top()==b[head])
            {
                sta.pop();
                head++;
                if(sta.empty())
                {
                    break;
                }
            }
        }
        if(sta.empty())
        {
            c[j]=1;
        }
        else
        {
            c[j]=0;
        }
        while (!sta.empty()) {
            sta.pop();
        }
    } 
    for(i=0;i<m;i++)
    {
        if(c[i]==0)
        {
            cout<<"No"<<endl;
        }
        else
        {
            cout<<"Yes"<<endl;
        }
    }
    return 0;
}

相关文章:

  • 一分钟了解深度学习
  • 统计数字字符个数(信息学奥赛一本通-1129)
  • 2025-03-16 学习记录--C/C++-PTA 练习4-10 找出最小值
  • java学习总结(八):Spring boot
  • 海洋难抵极:尼莫点
  • LabVIEW生成EXE文件错误提示
  • 计算机基础:二进制基础12,十进制数转换为十六进制
  • AtCoder Beginner Contest 397(ABCDE)
  • 加固脱壳技术:DEX动态加载对抗
  • #pragma omp critical解析
  • 【YOLOv8】YOLOv8改进系列(7)----替换主干网络之LSKNet
  • 深入分析 Shell 中 IFS、数组赋值与输出行为
  • apk反编译修改教程系列-----修改apk应用 缩小体积 精简apk【三十六】
  • JAVA课程实验报告单(12)---数据库系统设计
  • 内存管理:
  • ESP32_蓝牙音响
  • HTTPS建立连接过程
  • 深度学习中的向量的样子-DCN
  • 质因数的个数
  • C++11 emplace_back和push_back区别
  • 杨国荣︱以经验说事:思想史研究中一种需要反思的现象
  • 大学2025丨专访西湖大学副校长邓力:如何才能培养“不惧未知”的创新者
  • 中共中央、国务院印发《党政机关厉行节约反对浪费条例》
  • 国宝文物子弹库帛书二、三卷从美启程,18日凌晨抵京
  • 俄乌直接谈判结束
  • 习近平就乌拉圭前总统穆希卡逝世向乌拉圭总统奥尔西致唁电