AcWing 3464. 包装机
原题链接
简单
作者:
lim342
,
2021-05-01 21:28:26
,
所有人可见
,
阅读 3
#include<bits/stdc++.h>
#include<cstring>
#include<cstdio>
using namespace std;
queue<char> v[1008];
stack<char> s;
queue<char> ans;
int main(){
int n,m,smax;
char ch;
cin>>n>>m>>smax;
getchar();
for(int i=1;i<=n;i++){
while(1){
scanf("%c",&ch);
if(ch=='\n'){
break;
}
v[i].push(ch);
}
}
int x;
while(1){
cin>>x;
if(x==-1)
break;
if(x!=0){
if(v[x].empty()) continue;
else if(s.size()==smax){
ans.push(s.top());
s.pop();
}
s.push(v[x].front());
v[x].pop();
}
if(x==0){
if(s.empty()) continue;
ans.push(s.top());
s.pop();
}
}
while(!ans.empty()){
cout<<ans.front();
ans.pop();
}
return 0;
}