一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品,放到流水线上。图 2 显示了顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态。

一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,系统应强制启动 0 号键,先从筐里抓出一件物品,再将对应轨道的物品推落。此外,如果轨道已经空了,再按对应的按钮不会发生任何事;同样的,如果筐是空的,按 0 号按钮也不会发生任何事。

现给定一系列按钮操作,请你依次列出流水线上的物品。

输入格式:
输入第一行给出 3 个正整数 N(≤100)、M(≤1000)和 S​max​​(≤100),分别为轨道的条数(于是轨道从 1 到 N 编号)、每条轨道初始放置的物品数量、以及筐的最大容量。随后 N 行,每行给出 M 个英文大写字母,表示每条轨道的初始物品摆放。

最后一行给出一系列数字,顺序对应被按下的按钮编号,直到 −1 标志输入结束,这个数字不要处理。数字间以空格分隔。题目保证至少会取出一件物品放在流水线上。

输出格式:
在一行中顺序输出流水线上的物品,不得有任何空格。

输入样例:
3 4 4
GPLT
PATA
OMSA
3 2 3 0 1 2 0 2 2 0 -1

输出样例:
MATA

分析:Q[i]内保存每个轨道上的商品,St保存当前筐的状态~接下来按题意进行模拟操作就可以了,注意0操作前判断St是否为空,其余操作前判断相对应的Q[i]是否为空~

#include <bits/stdc++.h>
using namespace std;
int n, m, s, c;
queue<char> Q[1005];
stack<char> St;
int main() {cin >> n >> m >> s;for (int i = 1; i <= n; i++) {string t;cin >> t;for (int j = 0; j < m; j++) Q[i].push(t[j]);}while (cin >> c) {if (c == -1) break;if (c == 0) {if (St.empty()) continue;cout << St.top();St.pop();} else {if (Q[c].empty()) continue;if (St.size() == s) {cout << St.top();St.pop();}St.push(Q[c].front());Q[c].pop();}}return 0;
}

L2-037 包装机 (25 分)-PAT 团体程序设计天梯赛 GPLT相关推荐

  1. L2-039 清点代码库 (25 分)-PAT 团体程序设计天梯赛 GPLT

    上图转自新浪微博:"阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍.请设计一个程序,能够将代码库中所有功能重复的代码找出.各位大佬有啥想法,我当时就懵了,然 ...

  2. L2-040 哲哲打游戏 (25 分)-PAT 团体程序设计天梯赛 GPLT

    哲哲是一位硬核游戏玩家.最近一款名叫<达诺达诺>的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切! 为简化模型,我们不妨假设游戏有 N 个剧情点,通过游戏里不同的操作或选择 ...

  3. L2-038 病毒溯源 (25 分)-PAT 团体程序设计天梯赛 GPLT

    病毒容易发生变异.某种病毒可以通过突变产生若干变异的毒株,而这些变异的病毒又可能被诱发突变产生第二代变异,如此继续不断变化. 现给定一些病毒之间的变异关系,要求你找出其中最长的一条变异链. 在此假设给 ...

  4. L2-035 完全二叉树的层序遍历 (25 分)-PAT 团体程序设计天梯赛 GPLT

    一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树.对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树 ...

  5. L2-033 简单计算器 (25 分)-PAT 团体程序设计天梯赛 GPLT

    本题要求你为初学数据结构的小伙伴设计一款简单的利用堆栈执行的计算器.如上图所示,计算器由两个堆栈组成,一个堆栈 S1存放数字,另一个堆栈 S2存放运算符.计算器的最下方有一个等号键,每次按下这个键,计 ...

  6. L2-031 深入虎穴 (25 分)-PAT 团体程序设计天梯赛 GPLT

    著名的王牌间谍 007 需要执行一次任务,获取敌方的机密情报.已知情报藏在一个地下迷宫里,迷宫只有一个入口,里面有很多条通路,每条路通向一扇门.每一扇门背后或者是一个房间,或者又有很多条路,同样是每条 ...

  7. L2-030 冰岛人 (25 分)-PAT 团体程序设计天梯赛 GPLT

    2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名.好事者发现冰岛人的名字后面似乎都有个"松"(son),于是有网友科普如下: 冰岛人沿用的是维京人古老的父系姓制,孩子的 ...

  8. L2-029 特立独行的幸福 (25 分)-PAT 团体程序设计天梯赛 GPLT

    对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68, ...

  9. L2-036 网红点打卡攻略 (25 分)-PAT 团体程序设计天梯赛 GPLT

    一个旅游景点,如果被带火了的话,就被称为"网红点".大家来网红点游玩,俗称"打卡".在各个网红点打卡的快(省)乐(钱)方法称为"攻略".你的 ...

最新文章

  1. LVM逻辑卷创建管理
  2. Scrapyd部署Scrapy框架项目
  3. 根据数据库表gengxin实体类_Python学习第四十八天记录打call:SQLALchemy操作MySQL关系型数据库...
  4. VUE基本语法1-插值 属性绑定
  5. Doug Cutting—搜索之父
  6. Go map[int64]int64 写入 redis 占用多少内存
  7. 安装sqoop以后,hive中的info信息无法禁止的问题解决
  8. SAP Knowledge Article TREX search determination
  9. leetcode 145 --- 二叉树后序遍历
  10. vector与list的接口介绍与如何使用以及区别,附代码。
  11. SNMPv3对安全威胁的分类
  12. passing 'const xxx ' as 'this' argument discards qualifiers [-fpermissive]
  13. 计算机二级大题知识点汇总,计算机二级office复习知识点汇总
  14. 谭浩翔c语言,严谨细致的科技尖兵丨广州市公安局黄埔区分局民警谭浩翔
  15. hdu5294Tricks Device【最短路+网络流】
  16. 基于java+springboot+mysql的中小型超市进销存管理系统
  17. css鼠标经过字体抖动,jQuery+css3实现文字跟随鼠标的上下抖动
  18. 详解IDEA JPI持久化 import database schema 对话框
  19. JavaScript系列之内置对象Object
  20. 【030】纪妖–正版妖怪百科资料库

热门文章

  1. python字符串的删除操作_Python字符串操作
  2. eclipse导出war包放入服务器中
  3. linux C 语言的 system
  4. 第 72 章 FAQ
  5. SpringBoot入门第一个简单示例
  6. Banana PI 开源硬件项目启动
  7. Redis开发运维实践上线部署规划之持久化设置
  8. 使用Dom4j进行XML解析
  9. Linux 下的终端
  10. MDaemon替换注册码怎样人工激活.docx