【C++编程基础】AOJ (C++ Programming II)—2-A-stack

2023-11-16

2-A-stack

题目

stack
Stack is a container of elements that are inserted and deleted according to LIFO (Last In First Out).For n stack Si (i=0,1,…,n−1), perform a sequence of the following operations.
push(t, x): Insert an integer x to St.
top(t): Report the value which should be deleted next from St. If St is empty, do nothing.
pop(t): Delete an element from St. If St is empty, do nothing.
In the initial state, all stacks are empty.
输入
The input is given in the following format. nq query1 query2 : queryq Each query queryi is given by 0 t x or 1 t or 2 t where the first digits 0, 1 and 2 represent push, top and pop operations respectively. 1≤n≤1,000 1≤q≤200,000 −1,000,000,000≤x≤1,000,000,000 Sample Input 1
输出
For each top operation, print an integer in a line.

样例输入

3 9
0 0 1
0 0 2
0 0 3
0 2 4
0 2 5
1 0
1 2
2 0
1 0

样例输出

3
5
2

题解(代码流程)

#include<bits/stdc++.h>

using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int n, q;
    cin >> n >> q;
    vector<stack<int>> Si(n);//嵌套栈数组
    while (q--) {
        int p;
        cin >> p;
        if (p == 0) {
            int t, x;
            cin >> t >> x;
            Si[t].push(x);把x放入Si[t]中
        } else if (p == 1) {
            int t;
            cin >> t;
            if (!Si[t].empty())
                cout << Si[t].top() << endl;//返回Si[t]栈顶元素
        } else if (p == 2) {
            int t;
            cin >> t;
            if (!Si[t].empty()) Si[t].pop();//移除Si[t]栈顶元素
        }
    }

    return 0;
}

小结

学会定义嵌套栈数组,对栈中的元素进行修改

remember

c++ STack 栈堆实现了一个先进后出(FILO)的数据结构

  • empty()
  • pop()
  • push()
  • size()
  • top()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C++编程基础】AOJ (C++ Programming II)—2-A-stack 的相关文章

随机推荐

  • [项目管理-28]:四象限法与任务的时间优先级管理

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 四象限法介绍 1 1 概述 1 2 四象限优先级顺序 1 3 详细说明 前言 在项目管理中 我们经常遇到对各种各样的任务
  • 让Layui的table模块支持动态表头

    layui自带的table js插件是不支持的 这里我们简单的加几个字符进去 就可以支持了 1 打开插件目录下的layui lay modules目录 用文本文件打开table js 然后搜索 item2 title 在table js将
  • idea中如何创建xml文件

    本人做java开发程序员已经三年多了 从进入企业至今一直使用idea 对此开发工具还算了解 本人使用的版本 我是一个比较守旧的人 在2020年的今天还是依然使用2017年的版本 还请光大网友见谅哈 今天想说的就是如何在idea中创建 xml
  • docker高级篇(mysql主从,redis主从搭建,Dockerfile解析及docker-compose编排)

    本篇主要是mysql主从 redis主从搭建 Dockerfile解析及docker compose编排 轻量化可视化工具Portainer 重量级工具CAdvisor InfluxDB Granfana的使用 docker的安装 配置 卸
  • 如何把swf的动画嵌入到ppt中_flash(.swf)嵌入ppt中

    利用ppt的控件工具箱中的shockwave flash object控件 添加一个swf文件到ppt 然后右击这个swf文件编辑其属性时 把EmbedMovie一项的值改为True 就表示将其嵌入ppt 你就可以删除swf源文件了 使用
  • ThinkPad E40 XP 安装SATA/AHCI驱动

    ThinkPad E40 XP 安装SATA AHCI驱动 2010 11 06 16 42 我的机子是ThinkPad E40 0578A59 安装XP之后准备打开SATA硬盘的AHCI模式并安装其驱动 但是总是安装失败 只要在BIOS里
  • 吃透这份“Java进阶核心手册”再战字节,直接把面试官按在地上摩擦

    前言 本人计算机本科 已经有两年Java开发经验 由于原来公司已经不能满足我的需求 辞去原来的工作准备跳槽大厂 在辞职之前也认为有做过一段时间的准备 2021年8月初 我满怀信心去字节跳动面试Java研发岗位 结果当场被字节面试官吊打 莫不
  • echarts后台获取数据,前台实现饼图显示并自定义图形的数据表展示格式

    1 实现效果图 切换前效果 切换后效果 2 关键的js代码 var myChart echarts init document getElementById aaa 为echarts对象加载数据 var opts post getUnitA
  • JavaScript DOM(二)查

    书接上回 节点 DOM中有许多不同类型的节点 接下来我们先看看其中的三种 元素节点 文本节点和属性节点 元素节点 指该html里面标签的名字就是元素的名字 例如 我们使用的 p p ul 和 div 之类的元素 p标签的名字是 p 无序列表
  • 安装Node(脚手架)

    目录 一 安装node 脚手架 1 1 配置vue config js 1 2 vue cli3x的目录介绍 1 3 package json 最后 一 安装node 脚手架 从官网直接下载安装即可 自带npm包管理工具 https nod
  • [1132]Flink与Kafka版本对应关系

    以下为Flink和Kafka的版本对照表 Flink版本 Kafka版本 1 12 X 2 4 1 1 11 X 2 4 1 1 10 X 2 2 1 1 9 X 2 2 0 1 8 X 2 0 1 1 7 X 2 0 1 0 10 x 0
  • 怎么把服务器安装系统还原,云服务器磁盘怎么安装系统还原

    云服务器磁盘怎么安装系统还原 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 如果Windows操作系统弹性云服务器未安装
  • 程序源码分享-STM32的PID实验(含DAC和ADC)

    一 PID 算法原理 在工业应用中 PID 及其衍生算法是应用最广泛的算法之一 是当之无愧的万能算法 如果能够熟练掌握 PID 算法的设计与实现过程 对于一般的研发人员来讲 应该是足够应对一般研发问题了 在我所接触的控制算法当中 PID 控
  • python链接oracle数据库以及数据库的增删改查

    初次使用python链接oracle 所以想记录下我遇到的问题 便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节 1 首先 python链接oracle数据库需要配置好环境 我的相关环境如下 1 python Python 3 6
  • 推荐算法3—基于用户的协同过滤算法

    基于邻域的算法是推荐系统中最基本的算法 该算法分为两大类 一类是基于用户的协同过滤算法 另一类是基于物品的协同过滤算法 1 基础算法 在一个在线个性化推荐系统中 当一个用户A需要个性化推荐时 可以先找到和他有相似兴趣的其他用户 然后把那些用
  • 命令执行漏洞原理和测试

    PHP system exec shell exec passthru popen proc popen等称为高危漏洞 原理 只要程序可以调用系统命令的情况下都可以发生命令执行漏洞 条件 用户能够控制函数输入 存在可以执行代码的危险函数 命
  • Linux基础学习(下)——VMWare+CentOS7

    目录 Linux账号管理 用户组管理 磁盘管理 进程管理 Linux环境安装 三种软件安装方式 扩展 VMware使用 Linux账号管理 Linux系统是一个多用户多任务的分时操作系统 任何一个要使用系统资源的用户 都必须首先向系统管理员
  • linux下错误使用pthread_mutex_lock导致程序奔溃问题分析

    在进行程序开发过程中 错误使用了pthread mutex lock导致程序概率性的奔溃 奔溃时报如下错误 问题分析 本文分析在Linux应用程序中错误使用pthread mutex锁时会概率性触发SIG ABRT信号而导致程序崩溃 库打印
  • QFile类,以及利用QFile进行最基本的text文件打开与保存

    在qt中 操作现存文件的流程 一 QFileDialog 利用这个类可以通过对话框获得文件的目录 QFileDialog getOpenFileName 二 QFile 利用这个类 我们可以打开文件 三 QTextStream 这是一个tx
  • 【C++编程基础】AOJ (C++ Programming II)—2-A-stack

    2 A stack 题目 stack Stack is a container of elements that are inserted and deleted according to LIFO Last In First Out Fo