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 包装机题解相关推荐

  1. 2021天梯赛L2题解全集

    L2-037 包装机 (25 分) 其实就是个模拟,按照题目意思写下去吧,也不知道为什么比赛的时候一直只能拿20分(用char数组+ int变量模拟栈) 赛后直接用栈写的一发满分就很奇怪...主要是题 ...

  2. 团体程序设计天梯赛-L2组

    团体程序设计天梯赛-L2组 -------------------------------------------------------------------------------- 题目传送门 ...

  3. 【GPLT】【2021天梯赛真题题解】【231分】

    文章目录 L1-1 人与神 (5 分) 题目描述 题目分析 L1-2 两小时学完C语言 (5 分) 题目描述 题目分析 L1-3 强迫症 (10 分) 题目描述 题目分析 L1-4 降价提醒机器人 ( ...

  4. [PTA]2021天梯赛-总决赛 L1题解合集

    文章目录 前言说明 题解 人与神 (5 分) 两小时学完C语言 (5 分) 强迫症 (10 分) 降价提醒机器人 (10 分) 大笨钟的心情 (15 分) 吉老师的回归 (15 分) 天梯赛的善良 ( ...

  5. 2021年CCCC天梯赛 【部分题题解】

    天梯赛有三个level,第一个level基本就是语法题,第二个level是基础算法和STL库的一些应用. 第三个level就是一些难的算法. L3的题都不是太会,有思路但是写不出来. 目录 L1 人与 ...

  6. 2021年CCCC天梯赛 L2清点代码库 (哈希表,数据结构)

    分析 2021年CCCC天梯赛的一道问题. 使用一个数据结构存贮所有的数组及其出现的次数. 使用哈希表mp存储数组vector<intvector< int\>vector<i ...

  7. 2021天梯赛L1-079 天梯赛的善良 题解

    L1-079 天梯赛的善良 (20 分) 题目: 天梯赛是个善良的比赛.善良的命题组希望将题目难度控制在一个范围内,使得每个参赛的学生都有能做出来的题目,并且最厉害的学生也要非常努力才有可能得到高分. ...

  8. 2021天梯赛 L1-078 吉老师的回归 题解

    L1-078 吉老师的回归 (15 分) 题目: 曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的.只包括可打印符号的字符串描 ...

  9. 团体程序设计天梯赛 L2 题目合集

    前言 发现自己还能再参加一次天梯赛,在高兴之余,决定把在赛前将所有的天梯赛真题过一遍,希望自己可以取得理想的成绩.目前 L1 的题目已经刷完,打算在赛前刷完 L2 的题目. 本来想 L2 的题目都写个 ...

  10. 集美大学第七届团体程序设计天梯赛第一场排位赛题解

    目录 L1 L1-1 I Say TingTing 题目大意 解题思路 代码 L1-2魂环极限 题目大意: 解题思路 代码实现 L1-3汉字序顺 题目大意 解题思路 代码实现 L1-4晦气的原批 题目 ...

最新文章

  1. mysql 如何查看constraint定义的的所有约束_MySQL:如何查看表上的所有约束?
  2. Java设计模式(3 / 23):装饰者模式
  3. CentOS SSH命令
  4. Mysql同环比计算详解
  5. 百度竞价推广之关键词选择技巧
  6. MSF evasion模块的使用
  7. 共模和差模信号及其噪音抑制
  8. ARM公版架构迭代迅速 国产ARM架构落伍
  9. [MySQL进阶]——索引的数据结构
  10. 资产配置方案(作业)
  11. 阶段式软件研发项目管理工具
  12. 不站队的UCloud,才是最可怕的
  13. 如何正确的做技术选型
  14. 董明珠“接班人”孟羽童被解雇?因直播带货能力差 本人回应了...
  15. Edge浏览器的主页被360篡改的解决办法
  16. 微信视频使用的是什么协议?—— udp协议的介绍
  17. PC微信逆向:两种姿势教你解密数据库文件
  18. 启明星辰 天清汉马USG防火墙(后台弱口令/任意用户权限)
  19. 高等数学——二重积分
  20. Unity 如何使用Edit Script (the script is an edit script)

热门文章

  1. MCU电机控制/预驱/芯片,来
  2. Android 通过百度地图实现膜拜单车首界面效果
  3. 7-6 集合相似度 (25分) (排序)
  4. “神奇”的拉马努金矩阵
  5. 自制证书时报此证书模板上的权限不允许当前用户注册此类型的证书的解决办法
  6. ​(转)高盛如何在全球布局金融科技?
  7. 阿里云短信怎么限制每天发送次数?
  8. win10 和Ubuntu双系统安装
  9. 面试经验|春招在即,时间宝贵,这一定是最近的 Java 并发学习路线
  10. Spring Security Oauth2 单点登录案例实现和执行流程剖析