金融公司网站建设模板,百度搜索显示网站logo,邵阳市住房和建设局网站,学生如何做网站一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道#xff0c;放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时#xff0c;活塞向左推动#xff0c;将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时#xff0c;机械手将抓取筐顶部的一件物品#x…一种自动包装机的结构如图 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
做法
测试点5框满时空轨道被按动应无任何作用即不从框中取出物品。
1.存物品
2.接受操作
3.执行 被触发 的其他操作
3.操作合法则执行否则不执行
代码
#include cstdio
#include iostream
#include algorithm
#include cstringusing namespace std;const int N 105,M 1010;char str[N][M];
char q[N];
int id[N];
int main()
{int n 0,m 0,s 0;scanf(%d%d%d,n,m,s);for(int i 1;i n;i) scanf(%s,str i);int op 0;id[0] -1;while(1){scanf(%d,op);if(op -1) break;//该条轨道有货的状态下被按动且框已满if(op id[op] m id[0] s - 1) printf(%c,q[id[0]--]);if(op id[op] m)q[id[0]] str[op][id[op]];//推落物品else if(!op id[0] 0) printf(%c,q[id[0]--]);//抓取物品}return 0;
}
结果