7-7 包装机 (25 分)
一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品,放到流水线上。图 2 显示了顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态。
图1 自动包装机的结构
图 2 顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态
一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,系统应强制启动 0 号键,先从筐里抓出一件物品,再将对应轨道的物品推落。此外,如果轨道已经空了,再按对应的按钮不会发生任何事;同样的,如果筐是空的,按 0 号按钮也不会发生任何事。
现给定一系列按钮操作,请你依次列出流水线上的物品。
输入格式:
输入第一行给出 3 个正整数 N(≤100)、M(≤1000)和 Smax(≤100),分别为轨道的条数(于是轨道从 1 到 N 编号)、每条轨道初始放置的物品数量、以及筐的最大容量。随后 N 行,每行给出 M 个英文大写字母,表示每条轨道的初始物品摆放。
最后一行给出一系列数字,顺序对应被按下的按钮编号,直到 −1 标志输入结束,这个数字不要处理。数字间以空格分隔。题目保证至少会取出一件物品放在流水线上。
输出格式:
在一行中顺序输出流水线上的物品,不得有任何空格。
输入样例:
3 4 4
GPLT
PATA
OMSA
3 2 3 0 1 2 0 2 2 0 -1
结尾无空行
输出样例:
MATA
结尾无空行
答案:
#include <bits/stdc++.h>#define FAST_IO \ios::sync_with_stdio(false); \cin.tie(0); \cout.tie(0);using namespace std;int main()
{FAST_IO; //加速cin coutint n, m, sm; //读取轨道数、物品数、最大容量cin >> n >> m >> sm;vector<queue<char>> v(n); //初始化n个queuefor (int i = 0; i < n; i++)for (int j = 0; j < m; j++){char ch;cin >> ch;v[i].push(ch);}int x;cin >> x; //读取命令stack<char> st; //筐while (x != -1){//如果是要把货从筐中取到流水线上,需要先检验筐是不是空的if (x == 0 && !st.empty()){cout << st.top();st.pop();}//如果是要从轨道上往筐中放货,需要先判断轨道上非空else if (!v[x - 1].empty()){//放之前先检验筐是不是已经满了,如果满了需要先从筐中取一个货到流水线上if (st.size() == sm){cout << st.top();st.pop();}//轨道上的货进入筐中char ch = v[x - 1].front();st.push(ch);v[x - 1].pop();}//继续读取命令cin >> x;}return 0;
}
注意事项:
筐:栈(先进后出)
轨道:队列(先进先出)(之所以设置为队列,有一个原因是方便处理输入的数据,因为输入的数据是每条轨道上初始物品摆放的顺序,要结合图片来理解)
7-7 包装机 (25 分)相关推荐
- L2-1 包装机 (25 分)(STL43行代码)
L2-1 包装机 (25 分) 一种自动包装机的结构如图 1 所示.首先机器中有 N 条轨道,放置了一些物品.轨道下面有一个筐.当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中.当 ...
- 7-9 包装机 (25 分)
7-9 包装机 (25 分) 一种自动包装机的结构如图 1 所示.首先机器中有 N 条轨道,放置了一些物品.轨道下面有一个筐.当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中.当 ...
- L2-1 包装机 (25 分)
L2-1 包装机 (25 分) 一种自动包装机的结构如图 1 所示.首先机器中有 N 条轨道,放置了一些物品.轨道下面有一个筐.当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中.当 ...
- L2-037 包装机 (25 分)-PAT 团体程序设计天梯赛 GPLT
一种自动包装机的结构如图 1 所示.首先机器中有 N 条轨道,放置了一些物品.轨道下面有一个筐.当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中.当 0 号按钮被按下时,机械手将抓 ...
- 12门课100分直博清华!这份成绩单冲上热搜,但学霸小伙也曾考过25分
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 金磊 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一 ...
- PTA 7-3 旅游规划 (25分)(双权值Dijkstra最短路)
7-3 旅游规划 (25分) 有了一张自驾旅游路线图,你会知道城市间的高速公路长度.以及该公路要收取的过路费.现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径.如果有若干条路 ...
- PTA 03-树1 树的同构 (25分)
题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/711 5-3 树的同构 (25分) 给定两棵树T1和T2.如果T1可以通过若干次左右 ...
- 【PAT (Advanced Level) Practice】1051 Pop Sequence (25 分)
1051 Pop Sequence (25 分) Given a stack which can keep M numbers at most. Push N numbers in the order ...
- 【PAT (Advanced Level) Practice】1093 Count PAT‘s (25 分)
1093 Count PAT's (25 分) The string APPAPT contains two PAT's as substrings. The first one is formed ...
最新文章
- 团队作业—第二阶段06
- 后Hadoop时代的大数据技术思考:数据即服务
- 100小时学会sap-财务篇fico总结介绍篇
- django2.2连接mysql遇到的坑(亲测)
- C# NHtmlFilter 帮你过滤Html危险脚本 防止XSS攻击
- 一步步编写操作系统 23 重写主引导记录mbr
- 内部类 java 1614957119
- oracle 截取小数点_oracle函数(关于处理小数点位数和时间) | 学步园
- 9-Shell的逻辑操作符知识介绍-实践及企业案例脚本剖析
- ORACLE ASM 转自三思笔记
- 蓝桥杯嵌入式——TIM
- 【信息系统项目管理师】干系人管理
- linux mysql 命令行查询 乱码_mysql命令提示行连接乱码的解决
- 水处理过滤器:多介质过滤器结构组成及技术参数
- 数据结构-排序算法总结与感悟
- 2020年CISP每日一练
- COB制作工艺流程简介
- rio隐藏的团队列表
- 泰山OFFICE技术讲座:行距,五号、小四时还正常,四号时大幅增加,这是为什么?
- 格式化输出和整数所占字节
热门文章
- c 语言返回数组,c语言返回数组 - LIU-X1001的个人空间 - OSCHINA - 中文开源技术交流社区...
- C语言:数组、字符串长度
- 老鹰主机怎么样_HawkHost老鹰主机购买独立ip的最新流程
- webgl入门到成仙【入门-04wegbl的实际绘图思路】
- 详解网站标志的5种设计制作表现手法
- 『中级篇』docker企业版本地安装之UCP(57)
- 2022-06-17:virtualBox虚拟机联网
- 在线考试系统软件测试分析报告,在线考试系统软件测试用例报告.doc
- 微信小程序|分享功能|复制文字|拨打电话|
- 7-1 Fibonacci数列 java 题解