PTA 7-6 盲盒包装流水线(单调栈)

news2024/7/4 4:39:32

题目

众所周知,PAT 有 9 枚徽章,分别对应青铜、白银、黄金、白金、钻石、大师、王者、大圣、天神这 9 个段位,只有成绩非常优秀的考生才有资格获得刻有自己名字的徽章。现在,PAT 制作了徽章的小型纪念版,要制成盲盒给大家玩了!

下图是一条盲盒包装流水线的示意图。首先徽章通过进货口被压入货栈里,空盒在履带上从左向右传送。每次从货栈里弹出一枚徽章,进入打包机,装入一只空盒,打包后继续向右边传送。当货栈为空时,打包机会暂停,等待下一批徽章压入货栈。

在这里插入图片描述

每只盒子都有一个编号,小拼姐姐手里有进入流水线的空盒编号顺序表,也有每一批送往货栈的徽章顺序表,这样她其实可以知道每只盒子里装了哪种徽章。有些小朋友收到了盲盒,就想在拆封前问无所不知的小拼姐姐,盒子里的徽章是哪一种。但是因为盲盒总量有 10
5
这么多,小拼姐姐可记不住每只盒子里装的是什么,于是你就被请来写个程序帮小拼姐姐回复这种信息。

输入格式:

输入第一行给出 2 个正整数,分别为盲盒总量 N(≤105 )和货栈容量 S(≤100)。接下来一行给出 N 只盒子的编号,编号由 5 位数字组成,给出的顺序是空盒进入传送带的顺序。随后 N/S(保证是整数)行,每行给出一批 S 枚徽章的类型,为 1-9 的数字,给出的顺序是从进货口入栈的顺序。

再下面给出一个正整数 K(≤104),为查询次数。随后 K 行,每行给出一个 5 位编号。

输出格式:

对每个查询编号,在一行中输出该盒子中装的徽章类型。如果编号是错误的,则在一行中输出 Wrong Number。

  • 输入样例:
10 5
00132 10093 92001 23333 66666 88888 09009 34658 82750 69251
1 2 3 4 5
9 8 7 6 1
5
66666
88888
69251
55555
10093
  • 输出样例:
1
1
9
Wrong Number
4

题解(第二版)(PTA平台大多java代码超时,只能用c++)

#include<bits/stdc++.h>

using namespace std;

const int N = 100010;
const int S = 110;

queue<int>q;
int n, s, k,t;
int arr[N];
int a[N]={0};

int main() {
    cin >> n >> s;


    for(int i=0;i<n;i++){
		cin>>t;
		q.push(t);
	}	
    
    for(int i=0;i<n/s;i++){
		stack<int>kt;
		for(int j=0;j<s;j++){
			cin>>t;
			kt.push(t);
		}
		while(!kt.empty()){
			a[q.front()]=kt.top();
			kt.pop();
			q.pop();
		}
    }
    cin >> k;

    while (k--) {
        int temp;
        cin >> temp;

        if (a[temp] ==0) {
            cout << "Wrong Number" << endl;
        } else {
            cout << a[temp] << endl;
            }
        }

    return 0;
}

作者第一版使用的数组存徽章,没有使用第二版的栈,理应来说10000空间的数组不应该爆内存的,但是提醒我端错误,大佬如果懂可以讲讲为什么。
#include <iostream>
#include <vector>
#include <unordered_map>

using namespace std;

const int N = 100010;
const int S = 110;

int n, s, k;
int px = 1, py;
int arr[N];
int a[100000];

int main() {
    cin >> n >> s;
    py = s;

    for (int i = 1; i <= n; i++) {
        int temp;
        cin >> temp;
        arr[i] = temp;
    }
    int tt=n/s+1; 
    int st[tt][s+1];
    
    for (int i = 1; i <= n / s; i++) {
        for (int j = 1; j <= s; j++) {
            cin >> st[i][j];
        }
    }

    for(int i=1;i<=n;i++){
        a[arr[i]]=st[px][py];
        py--;
        if(py==0){
            px++;
            py=5;
        }
    }

    cin >> k;

    while (k--) {
        int temp;
        cin >> temp;

        if (a[temp] ==0) {
            cout << "Wrong Number" << endl;
        } else {
            cout << a[temp] << endl;
        }
    }

    return 0;
}

在这里插入图片描述

思路

本题依然是使用单调栈的模拟题,大家细心处理即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringbootWeb快速入门

1. 创建新项目&#xff0c;并勾选相关依赖 选中Spring Initializr&#xff0c;设置相关项 点击next选中spring web 点击create 2. 定义HelloController类&#xff0c;添加方法和注解 import org.springframework.web.bind.annotation.RequestMapping;: 这一行导入了Spring MVC…

实际开发中常用的Git操作

文章目录 前言基础知识集中式版本控制 - SVN分布式版本控制 - Git常用的Linux命令Git工作区域 Git 常用命令获取Git仓库添加/提交/推送/删除/回退文件查看信息Git分支Git标签Gitk&#xff1a;一个排查Git问题的工具 前言 git是用C语言开发的&#xff0c;以追求最高的性能。git…

GEO生信数据挖掘(六)实践案例——四分类结核病基因数据预处理分析

前面五节&#xff0c;我们使用阿尔兹海默症数据做了一个数据预处理案例&#xff0c;包括如下内容&#xff1a; GEO生信数据挖掘&#xff08;一&#xff09;数据集下载和初步观察 GEO生信数据挖掘&#xff08;二&#xff09;下载基因芯片平台文件及注释 GEO生信数据挖掘&…

香港服务器在大陆连不上怎么回事?

众所周知&#xff0c;香港服务器与中国内地的网络连通性是比较好的&#xff0c;不仅是机房地理距离的加持&#xff0c;还有就是利用CN2 GIABGP高速线路&#xff0c;参考恒创科技香港服务器访问内地网站&#xff0c;无需绕国际线路转换再到大陆&#xff0c;访问速度会比较快。但…

几行cmd命令,轻松将java文件打包成jar文件

1. 在任意目录下建立一个.java文件 2. 在当前目录下使用cmd命令&#xff1a; javac filename编译 如果报错则使用此命令javac -encoding UTF-8 filename 3.此时已成功生成.class文件 4. 可以手动添加MANIFEST.MF文件 Manifest-Version: 1.0 Main-Class: fileName 5.直接一…

实施运维01

一.运维实施工程师所具备的知识 1.运维工程师&#xff0c;实施工程师是啥&#xff1f; 运维工程师负责服务的稳定性&#xff0c;确保服务无间断的为客户提供服务. 实施工程师负责工程的实施工作&#xff0c;负责现场培训&#xff0c;一般都要出差&#xff0c;哪里有项目就去…

掌动智能:性能测试工具优势有哪些

由于应用程序的性能直接影响用户体验和满意度。而性能问题可能会导致应用响应缓慢、崩溃或无法处理大量用户请求。为了确保应用程序的高性能和可靠性&#xff0c;开发团队需要对应用程序进行性能测试。性能测试工具能够模拟真实场景下的负载并监测应用程序的性能表现&#xff0…

openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw

文章目录 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw95.1 使用postgres_fdw95.2 postgres_fdw下推主要成分95.3 常见问题95.4 注意事项 openGauss学习笔记-95 openGauss 数据库管理-访问外部数据库-postgres_fdw openGauss的fdw实现的功能是各个…

基于SSM的医用物理学实验考核系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

IDEA的使用(二)快捷键 (IntelliJ IDEA 2022.1.3版本)

1. IDEA中的常用快捷键 1.1 通用型快捷键 1.2 提高编写速度 ctrl shift ↑或↓ 只能在方法里面移动代码。 alt shift ↑或↓ 可以向方法外移动代码。 设置过自动导包&#xff0c;所以不用批量导包啦。 1.3 类结构、查找和查看源码 1.4 查找、替换和关闭 1.5 调整格式 1.6 De…

WebSocket协议:实现实时双向通信的秘诀

目录 &#x1f407;今日良言&#xff1a;海压竹枝低复举&#xff0c;风吹山角晦还明 &#x1f407;一、WebSocket协议介绍 &#x1f407;二、WebSocket如何使用 &#x1f407;三、WebSocket和HTTP的区别 &#x1f407;今日良言&#xff1a;海压竹枝低复举&#xff0c;风吹山…

Spark分布式计算原理

一、Spark WordCount运行原理 二、划分Stage 数据本地化 移动计算&#xff0c;而不是移动数据 保证一个Stage内不会发生数据移动 三、Spark Shuffle过程 在分区之间重新分配数据 父RDD中同一分区中的数据按照算子要求重新进入RDD的不同分区中 中间结果写入磁盘 有子RDD拉取数…

【分享】获取微信通讯录python代码形式实现

具体流程就是&#xff1a; 1. 打开微信 2. 点击通讯录 3. 滚动鼠标到最顶部&#xff08;防止已经滚动了一部分了&#xff09; 4. 获取联系人列表 5. 找到最后一个空格所在的位置&#xff08;后一个就是真正的联系人了&#xff09; 6. 点击第一个联系人 7.记录下上一个联…

Docker-compose创建LNMP服务并运行Wordpress网站平台

一、部署过程 1.安装Docker #关闭防火墙 systemctl stop firewalld.service setenforce 0#安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 #设置阿里云镜像源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/d…

联邦学习中的数据非独立同分布问题

联邦学习中的数据非独立同分布&#xff08;Non-IID&#xff09; 从集中式机器学习到联邦机器学习 集中式模型&#xff1a;传统的集中式机器学习是将所有的数据收集到服务器端&#xff0c;在服务器端统一进行模型训练和处理&#xff0c;并将预测的结果分发给用户。但将数据上传…

树莓派ubuntu上配置miniconda并创建虚拟环境

树莓派安装ubuntu和miniconda配置 本文所配置环境为&#xff1a;树莓派4B安装的系统为ubuntu 22 server&#xff0c;所配置的miniconda版本为4.2&#xff0c;python版本3.8。在此之前要清楚树莓派4B已经将处理器从arm架构换成了aarch64架构&#xff0c;所以能够使用最新的aarc…

基于SpringBoot的音乐网站

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 歌曲分类管理 歌曲信息管理 轮播图管理 歌曲信息 歌曲评论 用户注册 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施…

你必须知道的数据查询途径!!

在当今信息爆炸的时代&#xff0c;我们每天都会面临海量的数据和信息。如何在这些繁杂的信息中快速、准确地找到自己需要的内容&#xff0c;也是当代一个非常重要的技能。下面&#xff0c;我将介绍几种你必须知道的企业数据信息查找途径。 ​ 1. 搜索引擎 搜索引擎是我们日常中…

巴州阳光公益人的国庆

原创 何素平 巴州阳光志愿者服务协会 2023-10-10 15:01 发表于新疆 在中华人民共和国成立74周年之际&#xff0c;巴州阳光公益机构的社工志愿者在党支部的组织下&#xff0c;抒发爱国之情&#xff0c;砥砺强国之志&#xff0c;共同祝愿国家繁荣富强&#xff0c;祝福各族人民幸…

JShaman JavaScript混淆加密工具,中英版本区别

JShaman JavaScript混淆加密工具&#xff0c;中英版本区别如下。 中文版&#xff0c;配置简单&#xff0c;网站功能多&#xff0c;支持代码提交、文件上传、WebAPI&#xff1b; 英文版&#xff0c;配置项较多&#xff0c;网站功能简约&#xff0c;不支持文件上传&#xff0c;…