2021天梯赛 L2-037 包装机题解
L2-037 包装机 (25 分)
题目:
一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品,放到流水线上。
图1 自动包装机的结构
图 2 顺序按下按钮 3、2、3、0、1、2、0 后包装机的状态
一种特殊情况是,因为筐的容量是有限的,当筐已经满了,但仍然有某条轨道的按钮被按下时,系统应强制启动 0 号键,先从筐里抓出一件物品,再将对应轨道的物品推落。此外,如果轨道已经空了,再按对应的按钮不会发生任何事;同样的,如果筐是空的,按 0 号按钮也不会发生任何事。
现给定一系列按钮操作,请你依次列出流水线上的物品。
输入格式:
输入第一行给出 3 个正整数 N(≤100)、M(≤1000)和 Smax(≤100),分别为轨道的条数(于是轨道从 1 到 N 编号)、每条轨道初始放置的物品数量、以及筐的最大容量。随后 N 行,每行给出 M 个英文大写字母,表示每条轨道的初始物品摆放。
输出格式:
在一行中顺序输出流水线上的物品,不得有任何空格。
输入样例 :
3 4 4
GPLT
PATA
OMSA
3 2 3 0 1 2 0 2 2 0 -1
输出样例 :
MATA
思路:
- 用一个数组pos来记录每一行当前推了多少个字母,同时用一个空字符串ans来存储我们的答案,根据对输入的数字按照题意进行模拟即可。
- 当输入的数字x为0时,我们首先判断当前的筐box中是否还有字母,如果没有则空过,如果有,就令其出栈同时加入ans字符串中
- 如果输入的数字x不为0,我们就判断pos[x]是否小于等于列数m,如果没有这一步的话没法过全部测试点,若小于等于,就令g[x][pos[x]]入栈,同时将pos[x]加1,为下次做准备。
- 最后当输入为-1时令循环结束,再输出ans字符串即可。
代码:
#include<iostream>
#include<stack>
using namespace std;
int pos[1005];
char g[105][1005];
stack<char> box;
string ans="";
int main()
{int n,m,capacity;cin>>n>>m>>capacity;for(int i=1;i<=n;i++)pos[i]=1;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>g[i][j];}}int x;while(cin>>x&&x!=-1){if(x!=0){if(pos[x]<=m){if(box.size()==capacity){ans+=box.top();box.pop();}box.push(g[x][pos[x]]);pos[x]++;}}else{if(!box.empty()){ans+=box.top();box.pop();}}}cout<<ans;
}
2021天梯赛 L2-037 包装机题解相关推荐
- 2021天梯赛L2题解全集
L2-037 包装机 (25 分) 其实就是个模拟,按照题目意思写下去吧,也不知道为什么比赛的时候一直只能拿20分(用char数组+ int变量模拟栈) 赛后直接用栈写的一发满分就很奇怪...主要是题 ...
- 团体程序设计天梯赛-L2组
团体程序设计天梯赛-L2组 -------------------------------------------------------------------------------- 题目传送门 ...
- 【GPLT】【2021天梯赛真题题解】【231分】
文章目录 L1-1 人与神 (5 分) 题目描述 题目分析 L1-2 两小时学完C语言 (5 分) 题目描述 题目分析 L1-3 强迫症 (10 分) 题目描述 题目分析 L1-4 降价提醒机器人 ( ...
- [PTA]2021天梯赛-总决赛 L1题解合集
文章目录 前言说明 题解 人与神 (5 分) 两小时学完C语言 (5 分) 强迫症 (10 分) 降价提醒机器人 (10 分) 大笨钟的心情 (15 分) 吉老师的回归 (15 分) 天梯赛的善良 ( ...
- 2021年CCCC天梯赛 【部分题题解】
天梯赛有三个level,第一个level基本就是语法题,第二个level是基础算法和STL库的一些应用. 第三个level就是一些难的算法. L3的题都不是太会,有思路但是写不出来. 目录 L1 人与 ...
- 2021年CCCC天梯赛 L2清点代码库 (哈希表,数据结构)
分析 2021年CCCC天梯赛的一道问题. 使用一个数据结构存贮所有的数组及其出现的次数. 使用哈希表mp存储数组vector<intvector< int\>vector<i ...
- 2021天梯赛L1-079 天梯赛的善良 题解
L1-079 天梯赛的善良 (20 分) 题目: 天梯赛是个善良的比赛.善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分. ...
- 2021天梯赛 L1-078 吉老师的回归 题解
L1-078 吉老师的回归 (15 分) 题目: 曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的.只包括可打印符号的字符串描 ...
- 团体程序设计天梯赛 L2 题目合集
前言 发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩.目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目. 本来想 L2 的题目都写个 ...
- 集美大学第七届团体程序设计天梯赛第一场排位赛题解
目录 L1 L1-1 I Say TingTing 题目大意 解题思路 代码 L1-2魂环极限 题目大意: 解题思路 代码实现 L1-3汉字序顺 题目大意 解题思路 代码实现 L1-4晦气的原批 题目 ...
最新文章
- mysql 如何查看constraint定义的的所有约束_MySQL:如何查看表上的所有约束?
- Java设计模式(3 / 23):装饰者模式
- CentOS SSH命令
- Mysql同环比计算详解
- 百度竞价推广之关键词选择技巧
- MSF evasion模块的使用
- 共模和差模信号及其噪音抑制
- ARM公版架构迭代迅速 国产ARM架构落伍
- [MySQL进阶]——索引的数据结构
- 资产配置方案(作业)
- 阶段式软件研发项目管理工具
- 不站队的UCloud,才是最可怕的
- 如何正确的做技术选型
- 董明珠“接班人”孟羽童被解雇?因直播带货能力差 本人回应了...
- Edge浏览器的主页被360篡改的解决办法
- 微信视频使用的是什么协议?—— udp协议的介绍
- PC微信逆向:两种姿势教你解密数据库文件
- 启明星辰 天清汉马USG防火墙(后台弱口令/任意用户权限)
- 高等数学——二重积分
- Unity 如何使用Edit Script (the script is an edit script)