AcWing 3464. 包装机——c++代码——用stl的队列和栈模拟
原题链接
中等
作者:
小染
,
2021-05-05 13:10:07
,
所有人可见
,
阅读 551
#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
#include <stack>
using namespace std;
const int N = 2000;
int n,m,S;
queue<char> que[N];
stack<char> stk;
int main()
{
cin>>n>>m>>S;
getchar();
for(int i=1;i<=n;i++){
for(int j=0;j<m;j++){
char t;
scanf("%c",&t);
que[i].push(t);
}
getchar();//读换行的字符 记得吞掉回车
}
int t;
while(cin>>t){
if(t==-1) break;
if(t==0){
if(!stk.empty()){
cout<<stk.top();
stk.pop();
}
}else{
if(!que[t].empty()){
if(stk.size()<S){
stk.push(que[t].front());
que[t].pop();
}else{
cout<<stk.top();
stk.pop();
stk.push(que[t].front());
que[t].pop();
}
}
}
}
return 0;
}